文档首页
MySQL 8.4 参考手册
相关文档 下载本手册
PDF (US Ltr) - 39.9Mb
PDF (A4) - 40.0Mb
手册页 (TGZ) - 258.5Kb
手册页 (Zip) - 365.5Kb
Info (Gzip) - 4.0Mb
Info (Zip) - 4.0Mb


MySQL 8.4 参考手册  /  ...  /  utf8mb3 字符集 (3 字节 UTF-8 Unicode 编码)

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

utf8mb3 字符集具有以下特点

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

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

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

utf8mb3ucs2 中提供完全相同的字符集。也就是说,它们具有相同的 代码表.

注意

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

utf8mb3 字符集已弃用。utf8mb3 在 MySQL 8.0.x 和 MySQL 8.4.x LTS 版本系列的生命周期内将继续得到支持。

预计将在 MySQL 的未来主要版本中删除 utf8mb3

由于更改字符集可能是一个复杂且耗时的任务,您现在应该开始为这种更改做好准备,方法是将 utf8mb4 用于新应用程序。有关如何转换使用 utfmb3 的现有应用程序的指南,请参见 第 12.9.8 节“在 3 字节和 4 字节 Unicode 字符集之间转换”.

utf8mb3 可用于 CHARACTER SET 子句,而 utf8mb3_collation_substring 可用于 COLLATE 子句,其中 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_

utf8mb3CHARACTER SET 子句以外的上下文中也是有效的(但已弃用)。例如

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

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