Documentation Home
MySQL 8.0 参考手册  / 第 10 章字符集、排序规则、Unicode  / 10.9 Unicode 支持  /  10.9.2 utf8mb3 字符集(3 字节 UTF-8 Unicode 编码)

10.9.2 utf8mb3 字符集(3 字节 UTF-8 Unicode 编码)

utf8mb3字符集具有以下特点 :

  • 仅支持 BMP 字符(不支持增补字符)

  • 每个多字节字符最多需要三个字节。

使用 UTF-8 数据但需要补充字符支持的应用程序应该使用utf8mb4而不是utf8mb3(请参阅 第 10.9.1 节,“utf8mb4 字符集(4 字节 UTF-8 Unicode 编码)”)。

utf8mb3和 中可用的字符集完全相同 ucs2。也就是说,它们具有相同的 曲目

utf8utf8mb3;的别名 字符限制是隐式的,而不是名称中的显式。

utf8mb3可以用在CHARACTER SET从句中, 在从句中,where is , , , , , 等等。例如: utf8mb3_collation_substringCOLLATEcollation_substringbinczech_cidanish_ciesperanto_ciestonian_ci

CREATE TABLE t (s1 CHAR(1) CHARACTER SET utf8mb3;
SELECT * FROM t WHERE s1 COLLATE utf8mb3_general_ci = 'x';
DECLARE x VARCHAR(5) CHARACTER SET utf8mb3 COLLATE utf8mb3_danish_ci;
SELECT CAST('a' AS CHAR CHARACTER SET utf8) COLLATE utf8_czech_ci;

MySQL 立即将 utf8mb3in 语句的实例转换为 utf8,因此在诸如SHOW CREATE TABLEor SELECT CHARACTER_SET_NAME FROM INFORMATION_SCHEMA.COLUMNSor之类的语句中SELECT COLLATION_NAME FROM INFORMATION_SCHEMA.COLUMNS,用户会看到名称utf8or 。 utf8_collation_substring

utf8mb3CHARACTER SET在从句以外的上下文中也有效 。例如:

mysqld --character-set-server=utf8mb3
SET NAMES 'utf8mb3'; /* and other SET statements that have similar effect */
SELECT _utf8mb3 'a';

有关与多字节字符集相关的数据类型存储的信息,请参阅 字符串类型存储要求