Unknown collation: utf8mb4 unicode ci : Différence entre versions
De Vulgum Techus
(Page créée avec « = Présentation = Ce problème se rencontre lors de l'import de '''tables SQL''' via '''MySQL''' comme expliqué à '''Importer une base de données sous MySQL'''.... ») |
|||
Ligne 1 : | Ligne 1 : | ||
+ | <!-- Links checked 03/05/19 --> | ||
+ | [[Catégorie:Bases de données]] | ||
+ | [[Catégorie:Linux]] | ||
+ | '''[[Lien court]]''' vers cette page : https://vt.cx/Ucuu | ||
+ | '''[[QR code]]''' vers cette page : https://vt.cx/.qr | ||
+ | <html> | ||
+ | <script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script> | ||
+ | <!-- VT2 --> | ||
+ | <ins class="adsbygoogle" | ||
+ | style="display:inline-block;width:468px;height:60px" | ||
+ | data-ad-client="ca-pub-3341840374417340" | ||
+ | data-ad-slot="6349432125"></ins> | ||
+ | <script> | ||
+ | (adsbygoogle = window.adsbygoogle || []).push({}); | ||
+ | </script> | ||
+ | </html> | ||
+ | |||
= Présentation = | = Présentation = | ||
− | Ce problème se rencontre lors de l'import de | + | Ce problème se rencontre lors de l'import de tables SQL via MySQL comme expliqué à '''[[Importer une base de données sous MySQL]]'''. Ceci vient du jeu de collation (tri sur caractères spécifiques) qui diffère d'une version]] de MySQL à une autre. Ainsi le mode utf8mb4 qui a été ajouté au MySQL 5.5.3, rentre en conflit avec le mode utf8 de versions plus anciennes. Corriger ceci peut se faire de plusieurs manières dont les plus simples sont ici envisagées. La première part d'un dump déjà existant et la seconde se propose de paramétrer la création d'un dump pour que ce problème de compatibilité ne se pose plus. |
= Procédure = | = Procédure = | ||
== Méthode 1 - Correction du dump == | == Méthode 1 - Correction du dump == | ||
− | * Éditer le dump | + | * Éditer le dump SQL avec un '''[[éditeur texte]]''' |
− | * Faire un cherche/remplace (search/replace) de '''utf8mb4''' par '''utf8''' dans tous le dump afin que toutes les occurrences '''utf8mb4_unicode_ci''' deviennent utf8_unicode_ci | + | * Faire un cherche/remplace (search/replace) de '''utf8mb4''' par '''utf8''' dans tous le dump afin que toutes les occurrences '''utf8mb4_unicode_ci''' deviennent '''utf8_unicode_ci''' |
* Sauvegarder et refaire l'import comme expliqué à '''[[Importer une base de données sous MySQL]]''' | * Sauvegarder et refaire l'import comme expliqué à '''[[Importer une base de données sous MySQL]]''' | ||
− | * Pour un import via | + | * Pour un import via PHPMyAdmin changer la collation par : |
** Cliquer sur '''Operation''' | ** Cliquer sur '''Operation''' | ||
** Choisir '''Collation''' | ** Choisir '''Collation''' | ||
Ligne 13 : | Ligne 30 : | ||
== Méthode 2 - Paramétrage du dump == | == Méthode 2 - Paramétrage du dump == | ||
− | * Dans | + | * Dans PHPMyAdmin, choisir '''Export''' |
* Choisir '''Personnalisée - afficher toutes les options possibles''' dans '''Méthode d'exportation''' | * Choisir '''Personnalisée - afficher toutes les options possibles''' dans '''Méthode d'exportation''' | ||
− | * Au niveau de '''Options spécifiques au format :''' mettre '''MYSQL40''' dans le champs affecté à '''Maximiser la compatibilité avec un système de [[base de données]] ou un ancien [[serveur]] | + | * Au niveau de '''Options spécifiques au format :''' mettre '''MYSQL40''' dans le champs affecté à '''Maximiser la compatibilité avec un système de [[base de données]] ou un ancien [[serveur]] MySQL''' |
* Cliquer sur '''Exécuter''' pour lancer la sauvegarde | * Cliquer sur '''Exécuter''' pour lancer la sauvegarde | ||
− | = Liens utiles = | + | = [[Liens]] utiles = |
− | * [https://dev.mysql.com/doc/refman/5.5/en/charset-charsets.html dev.mysql.com] | + | * [https://dev.mysql.com/doc/refman/5.5/en/charset-charsets.html dev.mysql.com] Character Sets and Collations That MySQL Supports |
+ | |||
+ | = Articles [[Vulgum Techus]] = | ||
+ | * [[MySQL]] | ||
+ | * [[PHPMyAdmin]] | ||
+ | * [[ligne de commandes MySQL]] | ||
+ | * [[Mot de passe MySQL perdu sur Debian ou Ubuntu]] | ||
+ | * [[Sauvegarder toutes les bases MySQL d'un coup dans Plesk]] | ||
+ | * [[Importer une base de données sous MySQL]] | ||
+ | * [[Problèmes SQL de la recherche avancée sur Joomla]] | ||
+ | * [[The storage engine for the table doesn't support check]] | ||
+ | |||
+ | = Commentaires = | ||
+ | {{#widget:DISQUS | ||
+ | |id=vulgumtechus | ||
+ | }} |
Version du 4 mai 2019 à 11:30
Lien court vers cette page : https://vt.cx/Ucuu QR code vers cette page : https://vt.cx/.qr
Sommaire
Présentation
Ce problème se rencontre lors de l'import de tables SQL via MySQL comme expliqué à Importer une base de données sous MySQL. Ceci vient du jeu de collation (tri sur caractères spécifiques) qui diffère d'une version]] de MySQL à une autre. Ainsi le mode utf8mb4 qui a été ajouté au MySQL 5.5.3, rentre en conflit avec le mode utf8 de versions plus anciennes. Corriger ceci peut se faire de plusieurs manières dont les plus simples sont ici envisagées. La première part d'un dump déjà existant et la seconde se propose de paramétrer la création d'un dump pour que ce problème de compatibilité ne se pose plus.
Procédure
Méthode 1 - Correction du dump
- Éditer le dump SQL avec un éditeur texte
- Faire un cherche/remplace (search/replace) de utf8mb4 par utf8 dans tous le dump afin que toutes les occurrences utf8mb4_unicode_ci deviennent utf8_unicode_ci
- Sauvegarder et refaire l'import comme expliqué à Importer une base de données sous MySQL
- Pour un import via PHPMyAdmin changer la collation par :
- Cliquer sur Operation
- Choisir Collation
- Mettre Utf8
Méthode 2 - Paramétrage du dump
- Dans PHPMyAdmin, choisir Export
- Choisir Personnalisée - afficher toutes les options possibles dans Méthode d'exportation
- Au niveau de Options spécifiques au format : mettre MYSQL40 dans le champs affecté à Maximiser la compatibilité avec un système de base de données ou un ancien serveur MySQL
- Cliquer sur Exécuter pour lancer la sauvegarde
Liens utiles
- dev.mysql.com Character Sets and Collations That MySQL Supports
Articles Vulgum Techus
- MySQL
- PHPMyAdmin
- ligne de commandes MySQL
- Mot de passe MySQL perdu sur Debian ou Ubuntu
- Sauvegarder toutes les bases MySQL d'un coup dans Plesk
- Importer une base de données sous MySQL
- Problèmes SQL de la recherche avancée sur Joomla
- The storage engine for the table doesn't support check