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

10.1.10.7. utf8mb4 Набор символов (4-байтовый UTF-8 UnicodeEncoding)

Набор символов называют utf8 использует максимум трех байтов за символ и содержит только символы BMP. utf8mb4 использование набора символов максимум четырех байтов за символ поддерживает дополнительные символы:

utf8mb4 надмножество utf8, так для работы, такой как следующая связь, у результата есть набор символов utf8mb4 и сопоставление utf8mb4_col:

SELECT CONCAT(utf8_col, utf8mb4_col);

Точно так же следующее сравнение в WHERE пункт работает согласно сопоставлению utf8mb_col:

SELECT * FROM utf8_tbl, utf8mb4_tblWHERE utf8_tbl.utf8_col = utf8mb4_tbl.utf8mb4_col;
Подсказка

Чтобы оставить свободное место с UTF-8, использовать VARCHAR вместо CHAR. Иначе, MySQL должен зарезервировать три (или четыре) байты для каждого символа в a CHAR CHARACTER SET utf8 (или utf8mb4) столбец, потому что это - максимальная возможная длина. Например, MySQL должен зарезервировать 40 байтов для a CHAR(10) CHARACTER SET utf8mb4 столбец.