MySQL
MySQL
SELECT CONVERT('中文' USING utf8mb4);
SELECT CHARSET(name), COLLATION(name) FROM users LIMIT 1;
-- 建库建表统一 utf8mb4(utf8 是 utf8mb3 的历史别名,只支持 3 字节编码)PostgreSQL
PostgreSQL
SELECT convert_to('中文', 'UTF8'); -- bytea
SELECT convert_from('\xe4\xb8\xad'::bytea, 'UTF8'); -- '中'
SHOW server_encoding;| MySQL | 连接/库/表/列四级字符集;utf8mb4 支持 4 字节字符(emoji) |
|---|---|
| PostgreSQL | 数据库级 server_encoding 建库时固定;convert_to/convert_from 做编解码 |
| 排障 | 乱码先确认链路上每段的编码声明是否一致 |