Spec-Zone .ru
спецификации, руководства, описания, API

10.1.10.6. utf8mb3 "Набор символов" (Псевдоним дляutf8)

В будущей версии MySQL это возможно это utf8 станет 4 байтами utf8, и это пользователи, которые хотят указать на 3 байта utf8 должен будет сказать utf8mb3. Чтобы избежать некоторых будущих проблем, которые могли бы произойти с репликацией, когда у основных и ведомых серверов есть различные версии MySQL, для пользователей возможно определить 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 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, так в операторах такой как SHOW CREATE TABLE или SELECT CHARACTER_SET_NAME FROM INFORMATION_SCHEMA.COLUMNS или SELECT COLLATION_NAME FROM INFORMATION_SCHEMA.COLUMNS, пользователи будут видеть истинное имя, utf8 или utf8_collation_substring.

utf8mb3 псевдоним допустим только в CHARACTER SET пункты, и в определенных других местах. Например, они являются законными:

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

Есть нет utf8mb3 исказите к соответствию utf8 сопоставление для имен сопоставления, которые включают номер версии (например, utf8_unicode_520_ci) указать на версию Алгоритма сопоставления Unicode, на которой базируется сопоставление.