字符集

MySQL 常用的字符集主要有两种:

  • utf8 (又称为 utf8mb3
  • utf8mb4

早期 MySQL 的 utf8 实际上是 utf8mb3 ,它最多只支持每个字符 3 个字节,无法存储部分特殊字符(如 emoji 表情等需要 4 字节的字符)。因此,推荐直接使用 utf8mb4 ,它完全兼容 utf8 ,并且支持所有 Unicode 字符,包括 emoji 和部分生僻汉字。 现在新项目建议无脑使用 utf8mb4 ,避免后续字符集兼容性问题。

排序规则(Collation)

如果使用 utf8mb4 ,常用的排序规则有:

  • utf8mb4_unicode_ci :基于 Unicode 标准, 不区分大小写 ,适合大多数国际化场景。
  • utf8mb4_general_ci :效率略高于 unicode_ci ,但排序准确性稍差,也是不区分大小写。
  • utf8mb4_bin : 区分大小写和二进制内容 ,比较严格。

排序规则会影响 SQL 查询时字符串的比较和排序方式。例如,后缀为 ci (case-insensitive)的排序规则是不区分大小写的,而后缀为 bin (binary)的排序规则则区分大小写和二进制差异。

总结: 排序规则(Collation)决定了字符串在比较和排序时的行为,常见的选择是 utf8mb4_unicode_ci ,如果有特殊需求(如区分大小写),可以选择 utf8mb4_bin

分类: MySQL 标签: MySQL字符集排序规则utf8mb4

评论

暂无评论数据

暂无评论数据

目录