Je suis en train d'enregistrer des données sur base de données mysql, entrée contient des caractères emoji comme ceci: '\ U0001f60a \ U0001f48d et je reçois cette erreur:Enregistrement des caractères emoji dans la base de données MySQL
1366, "Incorrect string value: '\\xF0\\x9F\\x98\\x8A\\xF0\\x9F...' for column 'caption' at row 1"
J'ai cherché sur le net et lu beaucoup de réponses incluent ceux-ci: ou ou https://mathiasbynens.be/notes/mysql-utf8mb4#character-sets ou http://www.java2s.com/Tutorial/MySQL/0080__Table/charactersetsystem.htm mais rien n'a fonctionné!
J'ai des problèmes différents:
est d'info mydb ici:
mysql> SHOW VARIABLES WHERE Variable_name LIKE 'character\_set\_%' OR Variable_name LIKE 'collation%';
+--------------------------+--------------------+
| Variable_name | Value |
+--------------------------+--------------------+
| character_set_client | utf8mb4 |
| character_set_connection | utf8mb4 |
| character_set_database | utf8mb4 |
| character_set_filesystem | binary |
| character_set_results | utf8mb4 |
| character_set_server | utf8 |
| character_set_system | utf8 |
| collation_connection | utf8mb4_general_ci |
| collation_database | utf8mb4_general_ci |
| collation_server | utf8_general_ci |
+--------------------------+--------------------+
10 rows in set (0.00 sec)
J'ai essayé de changer character_set_server
valeur à utf8mb4
par
mysql>SET character_set_server = utf8mb4
Query OK, 0 rows affected (0.00 sec)
Mais quand tout redémarrage mysqld
revenir!
Je n'ai pas de fichier /etc/my.cnf
aussi, et j'ai édité le fichier /etc/mysql/my.cnf
à la place.
Que dois-je faire? Comment puis-je sauvegarder un fichier emoji dans ma base de données?
Eh bien, oui, ces paramètres reviennent. Vous devez définir votre *** encodage de connexion *** chaque fois que vous vous connectez à la base de données. Comment exactement essayez-vous d'insérer quelle valeur exactement? – deceze
Je développe une application Django et utilise python 'django.db.backends.mysql' comme moteur pour me connecter au serveur MySQL. –
Pourriez-vous être en mesure de trouver une solution? –