10bet网址
MySQL 8.0参考手册
相关的文档10bet官方网站 本手册下载 本手册摘录

10.9.7 utf32字符集(UTF-32 Unicode编码)

utf32字符集是固定长度的(比如ucs2和不像utf16).utf32每个字符使用32位,不像ucs2(每个字符使用16位),而不像utf16(某些字符使用16位,其他字符使用32位)。

utf32需要两倍的空间ucs2还有更多的空间utf16,但utf32有同样的优势吗ucs2所需的字节数utf32等于字符数乘以4。同时,与utf16,没有用于编码的技巧utf32,因此存储值等于代码值。

为了演示后一种优势是有用的,这里是一个示出了如何确定a的示例utf8mb4价值给出utf32代码的值:

/*假设代码值= 100cc LINEAR B轮式战车*/创建表tmp (utf32_col CHAR(1) CHARACTER SET utf32, utf8mb4_col CHAR(1) CHARACTER SET utf8mb4);INSERT INTO tmp VALUES (0x000100cc,NULL);UPDATE tmp SET utf8mb4_col = utf32_col;SELECT HEX(utf32_col),HEX(utf8mb4_col) FROM tmp;

MySQL对于添加未分配的Unicode字符或私有使用区域字符非常宽容。实际上只有一种有效性检查utf32:代码值不能大于0 x10ffff.例如,这是非法的:

INSERT INTO t (utf32_column) VALUES (0x110000);/ *非法* /