Skip to content

字符集与校对规则

推荐默认

  • 库表使用 utf8mb4:完整 Unicode,含 emoji;勿再用 utf8(实为截断版 UTF-8)。
  • 校对规则(collation) 决定排序与比较是否区分大小写,如 utf8mb4_unicode_ciutf8mb4_0900_ai_ci(8.0 默认系)。

层级

  • 服务器默认 → 库默认 → 表默认 → 列可单独指定。
  • 连接上还有 character_set_clientcharacter_set_connectioncharacter_set_results,应与存储一致。

排查乱码

  1. 客户端编码是否为 UTF-8。
  2. 表列是否为 utf8mb4
  3. 连接会话字符集:SHOW VARIABLES LIKE 'character%';

小结

新库统一 utf8mb4 与明确 collation,避免后期迁移成本。