In a future version of MySQL, it is possible that
          utf8 will become the 4-byte
          utf8, and that users who want to indicate
          3-byte utf8 will have to say
          utf8mb3. To avoid some future problems
          which might occur with replication when master and slave
          servers have different MySQL versions, it is possible as of
          MySQL 5.5.3 for users to specify utf8mb3 in
          CHARACTER SET clauses, and
          utf8mb3_
          in collation_substringCOLLATE clauses, where
          collation_substring is
          bin, czech_ci,
          danish_ci, esperanto_ci,
          estonian_ci, and so forth. For example:
        
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 immediately converts instances of
          utf8mb3 in an alias to
          utf8, so in statements such as
          SHOW CREATE TABLE or SELECT
          CHARACTER_SET_NAME FROM INFORMATION_SCHEMA.COLUMNS
          or SELECT COLLATION_NAME FROM
          INFORMATION_SCHEMA.COLUMNS, users will see the true
          name, utf8 or
          utf8_.
        collation_substring
          The utf8mb3 alias is valid only in
          CHARACTER SET clauses, and in certain other
          places. For example, these are legal:
        
mysqld --character-set-server=utf8mb3 SET NAMES 'utf8mb3'; /* and other SET statements that have similar effect */ SELECT _utf8mb3 'a';


User Comments
Add your own comment.