Comment puis-je convertir l'ensemble du jeu de caractères de la base de données MySQL en UTF-8 et la collation en UTF-8 ?
El CONVERT TO
La technique suppose que le texte a été correctement stocké dans un autre jeu de caractères (par exemple, latin1), et non altéré (comme des octets UTF-8 entassés dans une colonne latin1 sans conversion en latin1).
28 votes
Pour les visiteurs ultérieurs : Notez le questions connexes dans la barre latérale et utilisez
utf8_unicode_ci
noutf8_general_ci
.20 votes
Si vous voulez un support complet de l'UTF-8, vous voudrez probablement aussi utiliser un jeu de caractères de
utf8mb4
plutôt queutf8
comoutf8
ne prend en charge que le plan multilingue de base, et non la gamme complète. Il nécessite MySQL 5.5.3 ou plus.6 votes
J'ai oublié de mentionner dans mon commentaire ci-dessus, si vous passez à
utf8mb4
vous devrez également changer la collation enutf8mb4_unicode_ci
3 votes
Encore mieux, la collation
utf8mb4_unicode_520_ci
ou la dernière version disponible.0 votes
@MartinSteel Je crois que c'est la collation par défaut avec ce jeu de caractères.
0 votes
Mise à jour pour mettre à jour... Pour MySQL 8.0, c'est probablement la collation préférée :
utf8mb4_0900_ai_ci
qui est basé sur la norme Unicode version 9.0.0 votes
Si vous utilisez utf8_unicode_ci avec utf8mb4 cela donne une erreur donc utilisez utf8mb4_unicode_ci avec utf8mb4