Qu'est-ce que utf8mb4 et la collation utf8mb4_unicode_ci ?
utf8mb4 est l’UTF‑8 complet côté MySQL (jusqu’à 4 octets), et utf8mb4_unicode_ci est une collation Unicode offrant des comparaisons et tris insensibles à la casse conformes aux règles Unicode.
Voici les blocs fondamentaux à connaître :
1 Jeux de caractères côté MySQL
Capacité et portée des encodages courants :
2 Collations utf8mb4
Règles de comparaison et de tri :
3 Suffixes et comportements (_ci, _cs, _ai, _as)
Impacts sur l’égalité et l’ordonnancement :
4 Spécificités Unicode
Éléments à ne pas ignorer :
Problèmes classiques
Bases créées en utf8 (3 octets) au lieu de utf8mb4
Emoji tronqués, points d’interrogation, erreurs 1366/1406 lors des insertions.
Tri et LIKE différents entre machines
_general_ci vs _unicode_ci vs _0900_ai_ci changent l’ordre et les correspondances.
Comparaisons applicatives vs SQL incohérentes
Chaînes équivalentes en base (utf8mb4_unicode_ci) mais différentes octet à octet côté code.
CI qui passe/échoue selon l’image MySQL
Variables serveur (character_set_server, collation_server) différentes dans la CI.
Exemple de cas réel :
Symptômes qui doivent vous alerter
🚨 Signaux d'alarme
Comment les détecter
✨ Solution recommandée : Clean ASCII
Clean ASCII aide à vérifier la validité UTF‑8, repérer les octets hors plage et visualiser les points de code. Vous voyez immédiatement les caractères non standard et pouvez normaliser vos chaînes avant import en utf8mb4_unicode_ci.
✅ Validation UTF‑8
Détecte octets invalides, séquences tronquées, paires non conformes
📊 Analyse Unicode
Code points, formes composées/décomposées, différences visibles
🧹 Normalisation
Suggestions NFC/NFKC pour stabiliser comparaisons et tris
💾 Export compatible
Texte prêt pour MySQL/MariaDB en utf8mb4
Autres méthodes de détection
Affichage dans l'éditeur
En ligne de commande (Unix)
En code
JavaScript
Python
Excel / Google Sheets
Nettoyer et prévenir
🚀 Solution rapide avec Clean ASCII
Avant d’écrire des migrations, passez vos textes dans Clean ASCII : validation UTF‑8, visualisation des points de code et normalisation pour préparer un import en utf8mb4_unicode_ci.
Méthodes techniques avancées
🔧 Normaliser
🧹 Filtrer
⚙️ Automatiser
Checklist rapide
Conclusion
Alignez votre encodage sur utf8mb4, choisissez une collation Unicode cohérente et normalisez vos chaînes pour éviter les surprises.
En synchronisant application, base et CI autour d’utf8mb4_unicode_ci, vous stabilisez tris, comparaisons et unicité, y compris avec les emojis.
Vérifiez vos chaînes et dumps maintenant
Utilisez notre outil pour valider UTF‑8, visualiser Unicode et préparer des données propres pour utf8mb4_unicode_ci.
Analyser mon texte