Mysql
 sql >> Base de données >  >> RDS >> Mysql

Comment ce site Web corrige-t-il l'encodage ?

Étant donné que le problème était une erreur MySQL avec des chaînes UTF8 à double codage, MySQL est le bon moyen de le résoudre.

L'exécution des commandes suivantes résoudra le problème -

  • mysqldump $DB_NAME -u $DB_USER -p -h $DB_HOST.EXAMPLE.NET --add-drop-table --default-character-set=latin1 > export.sql - latin1 est utilisé ici pour forcer MySQL à ne pas diviser les caractères, et ne doit pas être utilisé autrement.
  • cp export{,.utf8}.sql - faire une copie de sauvegarde.
  • sed -i -e 's/latin1/utf8/g' export.utf8.sql - Remplacement du latin1 par utf8 dans le fichier, afin de l'importer en UTF-8 au lieu de 8859-1.
  • mysql $DB_NAME -u $DB_USER -p -h $DB_HOST.EXAMPLE.NET < export.utf8.sql - tout réimporter dans la base de données.

Cela résoudra le problème en une dizaine de minutes.