Heim >Backend-Entwicklung >PHP-Tutorial >Wie kann eine fehlerhafte UTF-8-Kodierung in MySQL mithilfe von mysqldump und mysql behoben werden?

Wie kann eine fehlerhafte UTF-8-Kodierung in MySQL mithilfe von mysqldump und mysql behoben werden?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-11-26 05:48:171098Durchsuche

How to Fix Broken UTF-8 Encoding in MySQL Using mysqldump and mysql?

Fehlerhafte UTF-8-Kodierung reparieren

Problem:

Fehlerhafte UTF-8-Zeichen werden behoben (z. B. î) in der MySQL-Datenbank, obwohl PHP-Header und UTF-8-Einstellungen im Notepad verwendet werden .

Lösung:

Um die fehlerhafte Kodierung zu beheben, befolgen Sie diese Schritte:

  1. Speichern Sie die Datenbankdaten mit mysqldump in einer Datei. Stellen Sie sicher, dass während des Dumps keine Zeichensatzkonvertierung durchgeführt wird, indem Sie --skip-set-charset verwenden und latin1 als Standardzeichensatz angeben.
  2. Importieren Sie die Dump-Daten mit MySQL zurück in die Datenbank. Stellen Sie beim Import den Standardzeichensatz auf utf8 ein, um die Daten korrekt zu interpretieren.

Code:

# Dump data with latin1 character set
mysqldump -h DB_HOST -u DB_USER -p DB_PASSWORD --opt --quote-names \
    --skip-set-charset --default-character-set=latin1 DB_NAME > DB_NAME-dump.sql

# Import data with UTF-8 character set
mysql -h DB_HOST -u DB_USER -p DB_PASSWORD \
    --default-character-set=utf8 DB_NAME < DB_NAME-dump.sql

Erklärung:

Diese Methode ersetzt die fehlerhaften UTF-8-Zeichen durch ihre richtigen Werte, indem die Daten mithilfe von MySQL-Befehlen rekonstruiert werden. Es stellt sicher, dass die Kodierung sowohl beim Export als auch beim Import korrekt eingestellt ist.

Das obige ist der detaillierte Inhalt vonWie kann eine fehlerhafte UTF-8-Kodierung in MySQL mithilfe von mysqldump und mysql behoben werden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn