Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Wie repariert diese Website die Codierung?

Da es sich bei dem Problem um einen MySQL-Fehler mit doppelt codierten UTF8-Strings handelte, ist MySQL der richtige Weg, um es zu lösen.

Das Ausführen der folgenden Befehle wird es lösen -

  • mysqldump $DB_NAME -u $DB_USER -p -h $DB_HOST.EXAMPLE.NET --add-drop-table --default-character-set=latin1 > export.sql - latin1 wird hier verwendet, um MySQL zu zwingen, die Zeichen nicht zu teilen, und sollte nicht anderweitig verwendet werden.
  • cp export{,.utf8}.sql - Erstellen einer Sicherungskopie.
  • sed -i -e 's/latin1/utf8/g' export.utf8.sql - Ersetzen von latin1 durch utf8 in der Datei, um sie als UTF-8 statt 8859-1 zu importieren.
  • mysql $DB_NAME -u $DB_USER -p -h $DB_HOST.EXAMPLE.NET < export.utf8.sql - Alles zurück in die Datenbank importieren.

Dadurch wird das Problem in etwa zehn Minuten gelöst.