MySQL 8.3 Release Notes
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;
有关多字节字符集与数据类型存储相关的信息,请参阅 字符串类型存储要求。