iphone - poner - ¿Cómo insertar el carácter utf-8 mb4(emoji en ios5) en mysql?
emojis ios 10 para android descargar (2)
Estoy usando mysql 5.5.10, y sus character_sets son
| character_set_client | utf8mb4 |
| character_set_connection | utf8mb4 |
| character_set_database | utf8mb4 |
| character_set_filesystem | binary |
| character_set_results | utf8mb4 |
| character_set_server | utf8mb4 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
| collation_connection | utf8mb4_general_ci |
| collation_database | utf8mb4_general_ci |
| collation_server | utf8mb4_general_ci |
Cambié utf8mb4 de utf8 para los emoji de iOS5. Están representados por un código de 4 bytes.
Pero cuando inserté 3 smileys emojis, ''???'' está en mysql.
Son 3F 3F 3F (Hex).
Puedo almacenar emojis de iOS4 bien, pero no iOS5.
¿Cómo podría almacenar los emojis de iOS5?
Por favor, ayúdame.
Los caracteres Unicode de 4 bytes aún no se usan ampliamente, por lo que no todas las aplicaciones que hay en el mercado los admiten por completo. MySQL 5.5 funciona bien con 4 caracteres de bytes cuando está configurado correctamente: compruebe si sus otros componentes también pueden funcionar con ellos.
Aquí hay algunas otras cosas para ver:
Asegúrese de que todos los conjuntos de caracteres y campos de texto predeterminados de las 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í.Si sus datos ya están en el juego de caracteres utf8, debe convertir 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 establece el conjunto de caracteres de las conexiones de la base de datos a utf8mb4. Comprueba que esto realmente está sucediendo: si estás ejecutando una versión anterior de la biblioteca del cliente mysql de tu framework elegido, es posible que no se haya compilado con la compatibilidad con utf8mb4 y no configure correctamente el charset. Si no es así, puede que tenga que 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 un
SET NAMES utf8mb4
antes de ejecutar cualquier consulta.
Una vez que cada nivel de su aplicación puede admitir los nuevos caracteres, debería poder usarlos sin ningún tipo de corrupción.
Recientemente escribí una guía detallada sobre cómo cambiar de utf8
de MySQL a utf8mb4
. Si sigues los pasos allí, todo debería funcionar correctamente. Aquí hay enlaces directos a cada paso individual en el proceso:
- Paso 1: crea una copia de seguridad
- Paso 2: Actualiza el servidor MySQL
- Paso 3: modificar bases de datos, tablas y columnas
- Paso 4: comprueba la longitud máxima de las columnas y las claves de índice
- Paso 5: Modificar los conjuntos de caracteres de conexión, cliente y servidor
- Paso 6: Reparar y optimizar todas las tablas
Espero que esto ayude.