10.9.1 utf8mb4 字符集(4 字节 UTF-8 Unicode 编码)
utfmb4
字符集具有以下 Feature:
-
支持 BMP 和补充字符。
-
每个多字节字符最多需要四个字节。
utf8mb4
与utf8mb3
字符集形成对比,后者仅支持 BMP 字符,每个字符最多使用三个字节:
-
对于 BMP 字符,
utf8mb4
和utf8mb3
具有相同的存储 Feature:相同的代码值,相同的编码,相同的长度。 -
对于补充字符,
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;
有关与多字节字符集相关的数据类型存储的信息,请参见字符串类型存储要求。