MySQL 9.0 发行说明
utf8mb4
字符集具有以下特点:
支持 BMP 和增补字符。
每个多字节字符最多需要四个字节。
utf8mb4
与 utf8mb3
字符集形成对比,后者仅支持 BMP 字符,并且每个字符最多使用三个字节。
对于 BMP 字符,
utf8mb4
和utf8mb3
具有相同的存储特性:相同的代码值、相同的编码、相同的长度。对于增补字符,
utf8mb4
需要四个字节来存储它,而utf8mb3
根本无法存储该字符。将utf8mb3
列转换为utf8mb4
时,您无需担心转换增补字符,因为它们不存在。
utf8mb4
是 utf8mb3
的超集,因此对于如下连接之类的操作,结果的字符集为 utf8mb4
,排序规则为 utf8mb4_col
:
SELECT CONCAT(utf8mb3_col, utf8mb4_col);
同样,WHERE
子句中的以下比较根据 utf8mb4_col
的排序规则进行:
SELECT * FROM utf8mb3_tbl, utf8mb4_tbl
WHERE utf8mb3_tbl.utf8mb3_col = utf8mb4_tbl.utf8mb4_col;
有关数据类型存储与多字节字符集的关系的信息,请参阅 字符串类型存储需求。