Ré-encoder une base de données en UTF8

Si vous travaillez dans le web, vous avez probablement déjà rencontré de multiples problèmes d'encodage de caractères. Pour ma part j'ai eu un soucis avec une vieille base de données qui contenait des caractères encodés en latin dans des champs en UTF8 (Exemple : Bibliothèques, Actualités etc...).

L'idée pour corriger ce problème est d'exporter la base de donnée en latin sans garder les instructions d'encodage, puis de la ré-importer en forçant l'encodage en UTF8.

 

Commencez par exporter votre base de données avec la commande suivante :

mysqldump -u [utilisateur_mysql] -p[mot_de_passe] --opt --quote-names --skip-set-charset --default-character-set=latin1 [base_de_données] > typo3sql8_latin_to_utf8.sql

Puis importez là à la place de l'ancienne : 

mysql -u [utilisateur_mysql] -p[mot_de_passe] --default-character-set=utf8 [base_de_données] < typo3sql8_latin_to_utf8.sql

Et voilà, vos données sont maintenant encodées correctement !

 

 

Conseil

Pensez à faire une sauvegarde avant toute manipulation avec la commande suivante :

mysqldump -u [utilisateur_mysql] -p[mot_de_passe] [base_de_données] > sauvegarde.sql
commentaires générés par Disqus