Los caracteres Unicode de 4 bytes aún no se utilizan ampliamente, por lo que no todas las aplicaciones los admiten por completo. MySQL 5.5 funciona bien con caracteres de 4 bytes cuando está configurado correctamente; compruebe si sus otros componentes también pueden funcionar con ellos.
Aquí hay algunas otras cosas para revisar:
-
Asegúrese de que todos los juegos de caracteres y campos de texto predeterminados de sus tablas se conviertan a utf8mb4, además de configurar los juegos de caracteres del cliente y del servidor, por ejemplo,
ALTER TABLE mytable charset=utf8mb4, MODIFY COLUMN textfield1 VARCHAR(255) CHARACTER SET utf8mb4,MODIFY COLUMN textfield2 VARCHAR(255) CHARACTER SET utf8mb4;
y así sucesivamente.Si sus datos ya están en el conjunto de caracteres utf8, deberían convertirse a utf8mb4 en su lugar sin ningún problema. Como siempre, ¡haz una copia de seguridad de tus datos antes de intentarlo!
-
También asegúrese de que la capa de su aplicación establezca el conjunto de caracteres de sus conexiones de base de datos en utf8mb4. Vuelva a verificar que esto realmente esté sucediendo:si está ejecutando una versión anterior de la biblioteca de cliente mysql de su marco elegido, es posible que no se haya compilado con soporte utf8mb4 y no configurará el conjunto de caracteres correctamente. De lo contrario, es posible que deba actualizarlo o compilarlo usted mismo.
-
Al ver sus datos a través del cliente mysql, asegúrese de estar en una máquina que pueda mostrar emoji y ejecute
SET NAMES utf8mb4
antes de ejecutar cualquier consulta.
Una vez que todos los niveles de su aplicación admitan los nuevos caracteres, debería poder usarlos sin corrupción.