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

utf8mb3字符集具有以下特点:

完全相同的字符集可用于utf8mb3ucs2.也就是说,它们具有相同的曲目.

笔记

历史上,MySQL 曾使用utf8作为别名utf8mb3;从 MySQL 8.0.28 开始,utf8mb3专门用于输出显示表示此字符集时的语句和信息模式表中。

在未来的某个时刻utf8有望成为参考utf8mb4.为了避免含义模糊utf8,考虑指定utf8mb4明确地用于字符集引用而不是utf8.

您还应该知道,utf8mb3不推荐使用字符集,您应该期望它在未来的 MySQL 版本中被删除。请用utf8mb4反而。

utf8mb3可用于字符集条款,和utf8mb3_*collat​​ion_substring*整理子句,其中*collat​​ion_substring*是,捷克语,丹麦语_ci,esperanto_ci,爱沙尼亚语_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 立即转换实例utf8mb3在声明中utf8, 所以在诸如显示创建表要么从 INFORMATION_SCHEMA.COLUMNS 中选择 CHARACTER_SET_NAME要么从 INFORMATION_SCHEMA.COLUMNS 中选择 COLLATION_NAME, 用户看到名字utf8要么utf8_*collat​​ion_substring*.

utf8mb3在其他情况下也有效字符集条款。例如:

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

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