sql >> Database >  >> RDS >> Mysql

Hoe repareert deze website de codering?

Aangezien het probleem een ​​MySQL-fout was met dubbel gecodeerde UTF8-strings, is MySQL de juiste manier om het op te lossen.

Het uitvoeren van de volgende commando's zal het oplossen -

  • mysqldump $DB_NAME -u $DB_USER -p -h $DB_HOST.EXAMPLE.NET --add-drop-table --default-character-set=latin1 > export.sql - latin1 wordt hier gebruikt om MySQL te dwingen de karakters niet te splitsen, en mag niet anders worden gebruikt.
  • cp export{,.utf8}.sql - een reservekopie maken.
  • sed -i -e 's/latin1/utf8/g' export.utf8.sql - De latin1 vervangen door utf8 in het bestand, om het te importeren als UTF-8 in plaats van 8859-1.
  • mysql $DB_NAME -u $DB_USER -p -h $DB_HOST.EXAMPLE.NET < export.utf8.sql - importeer alles terug naar de database.

Dit lost het probleem in ongeveer tien minuten op.



  1. Dynamische tabel retourneren met onbekende kolommen van de PL/pgSQL-functie

  2. MySQL invoegen in meerdere tabellen? (Database normalisatie?)

  3. PHP:afbeelding ophalen uit MySQL met PDO

  4. Is het beter om een ​​index te maken voordat u een tabel met gegevens vult, of nadat de gegevens op hun plaats zijn?