MySQL : résoudre l'erreur #1273 – Unknown collation: 'utf8mb4_unicode_520_ci'
Les serveurs de bases de données MySQL proposent des encodages très variés. Le but est de s'adapter au plus grand monde, aux différentes écritures et cultures présentes dans le monde, et également aux nouveautés technologiques. L'encodage "utf8mb4_unicode_520_ci" est une nouveauté de Mysql 5.6. Il implémente la norme UCA 5.2.0. Si vous essayez d'importer un fichier SQL issu d'un serveur Mysql avec une version antérieure, vous aurez le message d'erreur suivant : "#1273 – Unknown collation: ‘utf8mb4_unicode_520_ci’". Si vous ne pouvez ou ne souhaitez pas mettre à jour votre serveur, il existe d'autres solutions pour résoudre ce problème.
L'encodage "utf8mb4" a été introduit avec la version 5.5.3 de Mysql. Si votre serveur Mysql possède une version égale ou supérieure, vous pouvez utiliser cet encodage. Pour modifier le script, ouvrez le fichier avec un traitement de texte et remplacez la chaîne "utf8mb4_unicode_520_ci" par "utf8mb4_unicode_ci" pour chaque occurrence trouvée. Relancez l'opération et votre base de données sera correctement importée.
Si vous utilisez une version plus ancienne de Mysql, nous vous conseillons d'utiliser l'encodage "utf8_general_ci", pris en charge par Mysql depuis la version 4. Pour transformer le script, il faut l'ouvrir et remplacer la ligne suivante :
CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_520_ci;
Voici la chaîne qui va remplacer l'encodage pour utiliser l'UTF8 Général :
CHARSET=utf8 COLLATE=utf8_general_ci;
Si vous utilisez des interfaces de gestion de bases de données, ceux-ci peuvent proposer un mode de compatibilité afin de modifier le script en fonction de vos préférences. C'est notamment le cas l'outil PHPMyAdmin qui, dans l'onglet "Importer", possède une option "Mode de compatibilité SQL".