Documentation Home
MySQL 8.4 Reference Manual
Related Documentation Download this Manual
PDF (US Ltr) - 39.8Mb
PDF (A4) - 39.9Mb
Man Pages (TGZ) - 257.9Kb
Man Pages (Zip) - 364.9Kb
Info (Gzip) - 4.0Mb
Info (Zip) - 4.0Mb


MySQL 8.4 Reference Manual  /  ...  /  The utf8mb3 Character Set (3-Byte UTF-8 Unicode Encoding)

12.9.2 UTF-8 Unicode编码(3个字节)

utf8mb3 字符集具有这些特征:

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

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

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

utf8mb3 和 ucs2 中的字符集完全相同,即它们拥有相同的字符表

Note

MySQL 的推荐字符集是 utf8mb4。所有新的应用程序都应该使用 utf8mb4

utf8mb3 字符集已经弃用。utf8mb3 将在 MySQL 8.0.x 和 MySQL 8.4.x 长期支持系列中保持支持。

预计将来某个主要版本的 MySQL 中将删除 utf8mb3

由于更改字符集可能是一个复杂和时间-consuming 任务,您现在应该开始准备这个变化,使用 utf8mb4 对新应用程序。关于将现有应用程序从 utfmb3 转换的指导,请参阅第12.9.8节,“3-Byte和4-Byte Unicode 字符集之间转换”

utf8mb3 可以在 CHARACTER SET 子句中使用,utf8mb3_collation_substringCOLLATE 子句中使用,其中 collation_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 utf8mb4) COLLATE utf8mb4_czech_ci;

在语句中,如 SHOW CREATE TABLESELECT CHARACTER_SET_NAME FROM INFORMATION_SCHEMA.COLUMNSSELECT COLLATION_NAME FROM INFORMATION_SCHEMA.COLUMNS,以 utf8utf8_ 开头的字符集或排序名将被显示为 utf8mb3utf8mb3_,分别。

utf8mb3 也可以在非 CHARACTER SET 子句中使用,但已弃用。例如:

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

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