首页/数据/数据库速查/字符集与排序规则:utf8mb4 全链路统一
本包目录(495 条)

字符集与排序规则:utf8mb4 全链路统一

乱码和 emoji 写不进去的根因几乎都是字符集链路不一致:客户端、连接、结果、库、表五层要统一 utf8mb4。

数据库速查数据更新于 2026-10-12
用途字符集一致性排查
关键参数character_set_client/connection/results/database/server
推荐utf8mb4 + utf8mb4_0900_ai_ci(8.0)

查看链路

查看链路
SHOW VARIABLES LIKE 'character_set%';
SHOW VARIABLES LIKE 'collation%';

配置与建表统一

配置与建表统一
[mysqld]
character-set-server = utf8mb4
collation-server = utf8mb4_0900_ai_ci

[client]
default-character-set = utf8mb4
MySQL 的 utf8 实际是 utf8mb3,最多 3 字节,存不了 emoji;8.0 默认 utf8mb4,5.7 默认 latin1,老库迁移必查。

易错点

  • 连接池要统一配置字符集,临时 SET NAMES 只能救当前会话
  • ALTER DATABASE 只改默认值,存量表列需要逐表 ALTER 才真正转换

数据来源与参考

  • MySQL 8.0 Reference Manual: Character Sets and Collations

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌