MySQL什么时候使用utf-8,什么时候使用latin1?

2023-12-24

我知道MySQL默认为latin1编码,显然需要 1 个字节来存储一个字符latin1和 3 个字节来存储一个字符utf-8- 那是对的吗?

我正在开发一个网站,希望该网站能够在全球范围内使用。我绝对需要吗utf-8?或者我可以不用使用 latin1 吗?

另外,我尝试更改一些表latin1 to utf8但我得到了这个错误:Speficief key was too long; max key length is 1000 bytes有谁知道这个问题的解决办法吗?我真的应该解决这个问题还是 latin1 就足够了?

谢谢, 亚历克斯


在 latin1 中存储一个字符需要 1 个字节,在 utf-8 中存储一个字符需要 3 个字节 - 这是正确的吗?

它需要1字节来存储latin1性格和1 to 3字节来存储UTF8特点。

如果您仅在字符串中使用基本的拉丁字符和标点符号(0 to 128 in Unicode),两个字符集将占用相同的长度。

另外,我尝试将一些表从 latin1 更改为 utf8 但出现此错误:“Specificief key 太长;最大密钥长度为 1000 字节” 有谁知道这个问题的解决方案吗?我真的应该解决这个问题还是 latin1 就足够了?

如果您有一列VARCHAR(334)或更长时间,MyISAM不会让您在其上创建索引,因为该列极有可能占用更多1000 bytes.

请注意,这种长度的密钥很少有用。您可以创建一个前缀索引,该索引几乎对任何现实世界的数据都有选择性。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

MySQL什么时候使用utf-8,什么时候使用latin1? 的相关文章

  • 自动删除主键序列中的间隙

    我正在创建一个网页 该网页根据用户操作将数据存储到 MySQL 数据库中 数据库有很多行 行的主键是列 rowID 它只是按顺序对行进行编号 例如 1 2 3 4 用户可以选择删除行 问题是当用户删除最后一行以外的行时 rowID 中有一个
  • Hibernate + MySQL + rewriteBatchedStatements=true

    我有以下 Hibernate 配置
  • 一个表可以有多个主键吗?

    我现在很困惑 也许你可以帮助我更好地理解这个问题 即一个表可以有两个主键 如果是 那么如何 如果没有 那为什么 您询问是否可以有多个主键field你当然可以 您只能有一个主键 但它可以包含唯一标识行所需的任意数量的列 创建表时使用类似这样的
  • PHP使用auto_increment生成短唯一ID?

    我想生成一个简短的 唯一的 ID 而不必检查冲突 我目前正在做类似的事情 但是我当前生成的 ID 是随机的 并且在循环中检查冲突很烦人 并且如果记录数量显着增加 将会变得昂贵 通常担心冲突不是问题 但我想要生成的唯一 ID 是一个由 5 8
  • 如何导出带有数据的 MySQL 架构?

    我有一个完整的架构 其中有许多表 其中包含 MySQL 查询浏览器中的数据 现在我想将这个包含所有表 数据的完整数据库发送给我的同事 我怎样才能将其发送给我的同事 以便他可以将这个完整的架构放入他的 MySQL 查询浏览器中 Thanks
  • oursql 中的参数化查询

    如果有人能告诉我是否可以使用命名占位符进行参数化查询 我将不胜感激oursql 一个用于与 MySQL 数据库交互的 python 模块 例如 我尝试了一种可以与 sqlite3 一起使用的查询 c execute select from
  • UTF-8、PHP、Win7 - 现在是否有解决方案可以使用 php 在 Win 7 上保存 UTF-8 文件名?

    更新 只是为了不让您阅读所有内容 PHP 开头 7 1 0alpha2 在 Windows 上支持 UTF 8 文件名 感谢阿纳托尔 贝尔斯基 根据 stackoverflow 上的一些链接 我找到了部分答案 https stackover
  • 使用连接池后如何处理过多的并发连接?

    Scenario 假设您有一个拥有大量流量的网站或应用程序 即使使用数据库连接池 性能也会受到真正的打击 站点 应用程序甚至可能崩溃 因为并发连接太多 Question 人们有什么选择来处理这个问题 我的想法 我在想有这个问题的人可以创建多
  • MySQL 可选的带有 MATCH 的 LEFT JOIN

    我有以下查询 它对 MySQL Innodb 数据库中同一搜索词的两个不同表中的两列执行全文搜索 SELECT Id MATCH tb1 comment tb2 comment AGAINST search term IN BOOLEAN
  • WHERE NOT EXIST 附近的语法错误

    我在堆栈中搜索 但没有一个达到最终答案 我的查询是这样的 INSERT INTO user username frequence autoSend VALUES feri2 3 1 WHERE NOT EXISTS SELECT FROM
  • 如何在查询语句之外从mysql查询中获取值?

    这是下面的函数console log function quo value value connection query SELECT role from roles where id 1 function error results fi
  • meta_query,如何使用关系 OR 和 AND 进行搜索?

    已解决 请参阅下面的答案 我有一个名为的自定义帖子类型BOOKS 它有几个自定义字段 名称为 TITLE AUTHOR GENRE RATING 我该如何修复我的meta query下面的代码以便仅books在自定义字段中包含搜索词 tit
  • MVCC 如何与 MySql 中的 Lock 配合使用?

    我知道Mysql中使用锁或者MVCC可以实现并发控制 比如可重复读 但我不知道MVCC如何避免幻读 在其他地方了解到一般是通过MVCC和Gap Lock来实现的 但是目前我理解的是MVCC不需要锁 即更新和删除都是使用undo log来实现
  • Dapper 或 MySql 未找到包含句号“.”的存储过程。

    我有一个简单的 C 控制台 它使用 Dapper ORM 调用本地 MySql 数据库 以执行名为的存储过程users UserCreate 但是 当运行查询时 我收到一个异常 在数据库 用户 中找不到过程或函数 UserCreate Bu
  • 显示和随机化 php 数组

    我有一个显示结果的数组 如下所示 Array 0 gt 71 1 gt 56 2 gt 64 3 gt 82 4 gt 90 5 gt 80 6 gt 65 7 gt 62 8 gt 14 9 gt 3 我的代码是 while row my
  • Mysql带限制的删除语句

    我试图从表中删除行 但出现错误 DELETE FROM chat messages ORDER BY timestamp DESC LIMIT 20 50 我在 50 时收到此错误 您的 SQL 语法有错误 检查与您的 MySQL 服务器版
  • 如何从表中检索特定列 --- JPA 或 CrudRepository?我只想从用户表中检索电子邮件列

    用户模型 Entity Table name user uniqueConstraints UniqueConstraint columnNames email public class User implements Serializab
  • MySQL:如何仅获取正值的平均值?

    假设我有 INT 列 并且我使用 1 来表示插入时没有可用数据 我想获得该列中所有 0 或更大值的平均值 这可能吗 Thanks 我忘了提及 我正在与其他 AVG 一起执行此操作 因此从选项卡中选择 avg a avg b avg d 所以
  • 使用用户定义函数 MySql 时出错

    您好 请帮我解决这个问题 提前致谢 我在数据库中定义了这些函数 CREATE FUNCTION levenshtein s1 VARCHAR 255 s2 VARCHAR 255 RETURNS INT DETERMINISTIC BEGI
  • 无法连接到 MAMP 上的 phpMyAdmin

    我收到此错误消息 MySQL 说道 无法连接 设置无效 phpMyAdmin 尝试连接 MySQL 服务器 但服务器拒绝连接 您应该检查配置中的主机 用户名和密码 并确保它们与 MySQL 服务器管理员提供的信息相对应 用户和通行证是默认的

随机推荐

  • Android:通知操作以消除通知

    我正在尝试创建带有操作按钮的 Android 通知 我已经设置了一个启动活动的设置 但我想要另一个可以取消通知并且不会将用户带到另一个屏幕 活动 不带到我的应用程序的任何部分 的设置 我不想使用 auto cancel true 因为我希望
  • 读取 pandas 数据帧前几行的方法

    有没有内置的使用方法read csv只读第一个n文件的行数而不提前知道行的长度 我有一个大文件 需要很长时间才能读取 有时只想使用前 20 行来获取它的样本 并且不喜欢加载完整的文件并获取它的头部 如果我知道总行数我可以做类似的事情foot
  • PHPUnit 和全局变量

    我正在学习和探索 PHPUnit 与 PHP 5 2 9 的应用程序 并遇到了全局问题 我已将 backupGlobals 设置为 FALSE 包括文档 backupGlobals 已禁用 这似乎不会影响 PHPUnit 备份全局变量的行为
  • 您可以通过使用其构造函数来创建嵌套列表的深层副本吗?

    我知道你可以给出一个列表对象作为列表构造函数的参数copy1 列出另一个 通过这样做 您可以创建一个深拷贝如果使用的类型是简单的内置一次 到底是哪个 例如类型string List
  • 使用 AVX 与 NaN 进行比较

    我正在尝试创建一个快速解码器BPSK使用AVX英特尔的内在本质 我有一组复数 它们表示为交错浮点数 但由于BPSK仅需要调制实部 或偶数索引浮点数 每一个漂浮物x被映射到0 when x lt 0 and to 1 if x gt 0 这是
  • NASM 特定 - 章节与 [章节]

    我似乎无法在 NASM 的文档中找到任何关于在代码中使用 Section 或 SECTION 带括号 之间的区别的明确信息 我知道这些是宏 但我发现它们几乎可以互换使用 是这样吗 换句话说就是 SECTION text 相当于 Sectio
  • 变换形状

    我有两点想要以特定的方式连接 请参阅第一张图片 我知道所有四个点的坐标 然后我需要将整个形状移动到坐标 0 0 并旋转它 所以主要的两个点都在 x 轴上 参见第二张图 接下来我需要 挤压 形状仅 X 轴这样最后一个点的坐标为 0 1 参见最
  • 将构建类型更改为发布会导致某些类“无法解析符号”

    当我将构建类型更改为发布时 我的一些类在 android studio 中显示为 找不到符号 尽管显示错误 但应用程序已成功构建并运行 当我改回调试时 这些文件被正确识别 这是我的 build gradle apply plugin com
  • 在C编程中,“emit”有什么作用?

    我最近试图扩展我的 C 语言知识 我遇到了一个使用 emmit 的程序 可能emit a byte declspec naked void marker begin asm emit 0x51 emit 0x21 emit 0x1A emi
  • 系统找不到文件activatorconfig.txt

    我正在使用 play 框架 2 3 我按照页面上的说明进行操作https www playframework com documentation 2 3 x Installing https www playframework com do
  • Amazon S3 密钥中的特殊字符?

    按键中是否可以有像 这样的特殊字符 如果我在存储之前对密钥进行 urlencode 它会起作用 但我无法真正找到访问该对象的方法 如果我在 url 中写入 我会被拒绝访问 就像找不到对象时得到的结果一样 如果我对粘贴在浏览器中的 url 进
  • xcode-选择活动开发人员目录错误

    运行时看到以下错误npm install这需要node gyp 但可能会被任何需要的东西触发xcode select xcode select 错误 工具 xcodebuild 需要 Xcode 但处于活动状态 开发人员目录 Library
  • SQL Server 子查询返回超过 1 个值。当子查询跟在=、!=、<、<=、>、>=之后时,这是不允许的

    我运行以下查询 SELECT orderdetails sku orderdetails mf item number orderdetails qty orderdetails price supplier supplierid supp
  • 如何向 JQuery-steps 添加“重置”按钮

    我还没有看到有人问这个问题 尽管我确实阅读了大约 100 个关于类似主题的 jQuery 步骤 似乎没有一个能解决我的问题 我正在使用 jQuery steps 并希望在第一步完成后添加一个 重置 按钮 以防我的用户想要清除表单并重新开始
  • 在 AndroidKeystore 中保存和检索密钥对

    我需要生成 RSA 2048 密钥对 然后保存它 并恢复它 如果存在 此时此刻 我有这样的 SecureRandom random new SecureRandom RSAKeyGenParameterSpec spec new RSAKe
  • QGraphicsItem 仅通过 X 轴移动对象

    我在仅通过 x 轴移动对象时遇到问题 我知道你需要一些有功能的东西QVariant itemChange GraphicsItemChange change const QVariant value 我发现了这样的事情 QVariant C
  • .htaccess:此处不允许使用 LogLevel

    我想看看我的 htaccess 文件是如何工作的 我在里面放了一个 LogLevel 指令
  • 什么是 Yield?在 ASP .NET 中使用 Yield 有什么好处?

    你能帮助我理解吗yield关键字在asp NET C 收益回报会自动为您创建一个枚举器 http msdn microsoft com en us library 9k7k7cf0 aspx http msdn microsoft com
  • C#中如何将函数作为参数传递?

    C 中可以将函数作为参数传递吗 我可以使用 Func 或 Action 类来完成此操作 但这迫使我立即声明整个函数签名 当我尝试使用委托时 出现编译错误 指出它无法将方法组转换为委托 我正在尝试Axial http www codeplex
  • MySQL什么时候使用utf-8,什么时候使用latin1?

    我知道MySQL默认为latin1编码 显然需要 1 个字节来存储一个字符latin1和 3 个字节来存储一个字符utf 8 那是对的吗 我正在开发一个网站 希望该网站能够在全球范围内使用 我绝对需要吗utf 8 或者我可以不用使用 lat