Saltar al contenido

MySQL utf8mb4, errores al guardar emojis

Solución:

character_set_client, _connection, y _results deben ser todos utf8mb4 para que ese pastelito sea comestible.

Algo, en algún lugar, está configurando un subconjunto de esos individualmente. Busque en la configuración de my.cnf y phpmyadmin; algo no está configurando los tres.

Si SET NAMES utf8mb4 se ejecuta, los tres configurados correctamente.

El sol brillaba porque solo tiene 3 bytes – E2 98 80; utf8 es suficiente para codificaciones utf8 de 3 bytes de caracteres Unicode.

Para mí, resultó que el problema radicaba en el cliente mysql.

actualizaciones del cliente mysql my.cnfchar en un servidor, y resultó en un ajuste de caracteres no deseado.

Entonces, lo que tenía que hacer era agregar character-set-client-handshake = FALSE. Inhabilita la configuración del cliente para que no altere mi configuración de caracteres.

my.cnf sería así.

[mysqld]
character-set-client-handshake = FALSE
character-set-server = utf8mb4
...

Espero eso ayude.

Es probable que su servicio / aplicación se conecte con “utf8” en lugar de “utf8mb4” para el juego de caracteres del cliente. Eso depende de la aplicación del cliente.

Para una aplicación PHP, consulte http://php.net/manual/en/function.mysql-set-charset.php o http://php.net/manual/en/mysqli.set-charset.php

Para una aplicación de Python, consulte https://github.com/PyMySQL/PyMySQL#example o http://docs.sqlalchemy.org/en/latest/dialects/mysql.html#mysql-unicode

Además, verifique que sus columnas realmente sean utf8mb4. Una forma directa es así:

mysql> SELECT character_set_name FROM information_schema.`COLUMNS`  WHERE table_name = "user"   AND column_name = "displayname";
+--------------------+
| character_set_name |
+--------------------+
| utf8mb4            |
+--------------------+
1 row in set (0.00 sec)
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *