Je stocke du texte avec emojis dans une base de données mysql. La base de données, la table et la colonne sont définies pour utiliser utf8mb4
et utf8mb4_unicode_ci
.Mysql utf8mb4 égalité
Je peux saisir les valeurs de cellule sans problème (le type de données est VARCHAR
).
Cependant, lorsque j'essaie d'interroger la base de données et de différencier les types d'emoji, mysql ne peut pas les différencier.
Par exemple, si je fais une recherche de la base de données pour la ligne où emoji_column = 'hello'
Ensuite, il retournera toutes les lignes qui ont « bonjour » et tout emoji qui y est annexé (par exemple: « bonjour », « bonjour », etc.) .
Est-ce un comportement normal? Dois-je comparer les valeurs Hex si je veux une requête précise? Ou est-ce que quelque chose n'est pas configuré correctement?
(Les emojis sont stockés correctement, c'est-à-dire, si j'interroge la base de données par un autre paramètre, l'emoji correct est renvoyé).
Merci.
Je vais essayer et mettre à jour ici. Merci. – theyuv
Modification de l'assemblage n'a pas semblé aider. J'ai trouvé un rapport de ce problème ici: http://bugs.mysql.com/bug.php?id=76553 qui a suggéré le même correctif que vous avez fait. – theyuv
Hmmmm ... Quelle version utilisez-vous? S'il vous plaît nous montrer 'SHOW CREATE TABLE'. Voyons voir 'SELECT HEX (emoji_column) FROM tbl WHERE emoji_column = = 'Bonjour'; –