Heim >Datenbank >MySQL-Tutorial >Wie kann ich eine fehlerhafte UTF-8-Kodierung in meiner MySQL-Datenbank reparieren?

Wie kann ich eine fehlerhafte UTF-8-Kodierung in meiner MySQL-Datenbank reparieren?

DDD
DDDOriginal
2024-12-09 14:20:15455Durchsuche

How Can I Fix Broken UTF-8 Encoding in My MySQL Database?

Fehlerhafte UTF-8-Kodierung reparieren: Eine praktische Lösung

Hintergrund:

Benutzer häufig Es treten Probleme mit fehlerhafter UTF-8-Kodierung auf, die durch Zeichen wie î anstelle von Akzentzeichen gekennzeichnet ist. Dieses Problem entsteht durch Inkonsistenzen bei der Datenbanksortierung, den PHP-Einstellungen und den Speichermethoden.

Zuordnung fehlerhafter Zeichen zur Korrektur von UTF-8:

Um dieses Problem zu beheben, ist eine effektive Lösung erforderlich Der Ansatz umfasst einen MySQL-Datenbank-Dump und einen erneuten Importvorgang. Diese Methode ermöglicht die Konvertierung fehlerhafter Zeichen in ihre korrekten UTF-8-Darstellungen.

Schritt-für-Schritt-Lösung:

1. Dump the MySQL database using the following command:

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

2. Import the dumped data back into a new database with the correct UTF-8 settings:

mysql -h DB_HOST -u DB_USER -p DB_PASSWORD \
--default-character-set=utf8 DB_NAME < DB_NAME-dump.sql

Quelle:

Diese Lösung basiert auf der beschriebenen Technik in:
http://blog.hno3.org/2010/04/22/fixing-double-encoded-utf-8-data-in-mysql/

Zusätzliche Hinweise:

  • Stellen Sie sicher, dass die Datenbanksortierung auf eingestellt ist utf8_general_ci.
  • Stellen Sie sicher, dass PHP einen korrekten UTF-8-Header verwendet.
  • Verwenden Sie einen Texteditor, der UTF-8 ohne BOM unterstützt.
  • Während nicht alle Instanzen von Zeichen mit Akzent möglicherweise defekt ist, sollte diese Methode die meisten Fälle lösen.

Das obige ist der detaillierte Inhalt vonWie kann ich eine fehlerhafte UTF-8-Kodierung in meiner MySQL-Datenbank reparieren?. 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