Ответ 1
4 байта Символы Unicode еще не широко используются, поэтому не все приложения там полностью поддерживают их. MySQL 5.5 отлично работает с 4 байтовыми символами при правильной настройке - проверьте, могут ли ваши другие компоненты работать с ними.
Вот еще несколько вещей, чтобы проверить:
-
Убедитесь, что все стандартные символы и текстовые поля ваших таблиц преобразуются в utf8mb4, в дополнение к настройке наборов символов клиента и сервера, например.
ALTER TABLE mytable charset=utf8mb4, MODIFY COLUMN textfield1 VARCHAR(255) CHARACTER SET utf8mb4,MODIFY COLUMN textfield2 VARCHAR(255) CHARACTER SET utf8mb4;
и т.д.Если ваши данные уже находятся в наборе символов utf8, он должен без проблем быть преобразован в utf8mb4. Как всегда, создайте резервные копии своих данных перед тем, как попробовать!
-
Также убедитесь, что ваш уровень приложения устанавливает набор символов подключения к базе данных в utf8mb4. Двойная проверка этого на самом деле происходит - если вы используете более старую версию вашей клиентской библиотеки mysql выбранной клиентской базы, она, возможно, не была скомпилирована с поддержкой utf8mb4, и она не будет правильно настроить кодировку. Если нет, возможно, вам придется обновить его или скомпилировать самостоятельно.
-
При просмотре ваших данных через клиент mysql убедитесь, что вы находитесь на машине, которая может отображать emoji, и запускайте
SET NAMES utf8mb4
перед запуском любых запросов.
Как только каждый уровень вашего приложения сможет поддерживать новые символы, вы сможете использовать их без какого-либо повреждения.