J’ai un dump MySQL, que j’ai essayé de restaurer avec:
mysql -u"username" -p"password" --host="127.0.0.1" mysql_db < mysql_db
Cependant, cela a jeté une erreur:
ERROR 1115 (42000) at line 3231: Unknown character set: 'utf8mb4'
Ceci est les lignes 3231-3233:
/*!50003 SET character_set_client = utf8mb4 */ ; /*!50003 SET character_set_results = utf8mb4 */ ; /*!50003 SET collation_connection = utf8mb4_general_ci */ ;
J’utilise MySQL 5.1.69. Comment puis-je résoudre cette erreur?
Votre version ne supporte pas ce jeu de caractères, je crois que c’était 5.5.3
qui l’a introduit. Vous devriez mettre à jour votre mysql à la version que vous avez utilisée pour exporter ce fichier.
L’erreur est alors tout à fait claire: vous définissez un certain jeu de caractères dans votre code, mais votre version de mysql ne le prend pas en charge et ne le connaît donc pas.
Selon https://dev.mysql.com/doc/refman/5.5/en/charset-unicode-utf8mb4.html :
utf8mb4 est un sur-ensemble de utf8
alors peut-être y a-t-il une chance que vous puissiez simplement le rendre utf8, fermer les yeux et espérer, mais cela dépend de vos données, et je ne le recommanderais pas.
Tu peux essayer:
Ouvrez le fichier sql par un éditeur de texte
utf8mb4 to utf8
Importer à nouveau.
Cela peut aider:
mysqldump --compatible=mysql40 -u user -p DB > dumpfile.sql
PHPMyAdmin a le même mode de compatibilité MySQL dans les options d’exportation «expert». Bien que cela ne se soit jamais produit à certaines occasions.
Si vous n’avez pas access via la ligne de commande ou via PHPMyAdmin, éditez le fichier
/*!50003 SET character_set_client = utf8mb4 */ ;
bit to read 'utf8'
seulement, c’est la voie à suivre.