utf8mb3字符集(3字节UTF-8 Unicode编码)
该utf8mb3
字符集有以下特点:
- 仅支持BMP字符(不支持补充字符)
- 每个多字节字符最多需要三个字节。
使用UTF-8数据但需要辅助字符支持的应用程序应使用utf8mb4
而不是utf8mb3
(请参见“ utf8mb4字符集(4字节UTF-8 Unicode编码)”)。
完全相同的字符集是在提供utf8mb3
和ucs2
。也就是说,它们具有相同的曲目。
utf8
是的别名utf8mb3
;字符限制是隐式的,而不是名称中的显式。
注意该
utf8mb3
字符集已被弃用,并将在将来的MySQL版本中删除。请utf8mb4
改用。尽管utf8
目前是的别名utf8mb3
,但在某些时候utf8
会成为对utf8mb4
。为避免对的含义含糊不清utf8
,请考虑utf8mb4
为字符集引用而不是显式指定utf8
。
utf8mb3
可以用在CHARACTER SET
条款,并在条款,其中是,,,,,等等。例如:utf8mb3_collation_substring
COLLATE
collation_substring
bin
czech_ci
danish_ci
esperanto_ci
estonian_ci
CREATE TABLE t (s1 CHAR(1)CHARACTER SET utf8mb3;SELECT *FROM tWHERE s1COLLATE utf8mb3_general_ci = 'x';DECLARE x VARCHAR(5)CHARACTER SET utf8mb3COLLATE utf8mb3_danish_ci;SELECT CAST('a'AS CHARCHARACTER SET utf8)COLLATE utf8_czech_ci;
MySQL立即将utf8mb3
in语句的实例转换为utf8
,因此在诸如SHOW CREATE TABLE
or SELECT CHARACTER_SET_NAME FROM INFORMATION_SCHEMA.COLUMNS
或in的语句中SELECT COLLATION_NAME FROM INFORMATION_SCHEMA.COLUMNS
,用户将看到名称utf8
或。utf8_collation_substring
utf8mb3
在CHARACTER SET
子句以外的上下文中也有效。例如:
mysqld --character-set-server=utf8mb3
SET NAMES 'utf8mb3'; /* and other SET statements that have similar effect */SELECT _utf8mb3 'a';
有关与多字节字符集相关的数据类型存储的信息,请参阅《字符串类型存储要求》。