Fehlerhafte UTF-8-Kodierung reparieren
Bei der Arbeit mit der UTF-8-Kodierung kommt es häufig vor, dass fehlerhafte Zeichen wie î aufgrund von Fehlern auftreten Handhabung. Dieses Problem kann durch die Datenbankkonfiguration, PHP-Einstellungen oder sogar die Texteditor-Kodierung entstehen.
MySQL-Zeichensatz und PHP-Header
Stellen Sie sicher, dass Ihre MySQL-Datenbank UTF verwendet -8 Sortierung wie utf8_general_ci. Stellen Sie außerdem sicher, dass Ihr PHP-Code einen ordnungsgemäßen UTF-8-Header enthält, z. B.:
<?php header("Content-Type: text/html; charset=utf-8"); ?>
Überprüfen von Notepad und phpMyAdmin
Bestätigen Sie, dass Notepad für die Verwendung konfiguriert ist UTF-8 ohne Stückliste. Stellen Sie in phpMyAdmin sicher, dass die Zeichenkodierung sowohl für die Datenanzeige als auch für den SQL-Export auf UTF-8 eingestellt ist.
Erkennung defekter Zeichen mit Akzent
Auch wenn dies möglicherweise nicht bei allen Zeichen mit Akzent der Fall ist Betroffene, häufig unterbrochene Sequenzen sind î, àund ü. Diese Zeichen stellen akzentuierte Versionen von „e“, „i“ bzw. „u“ dar.
Lösung: Korrektur der doppelten Kodierung
Wenn Sie eine doppelte Kodierung vermuten Um UTF-8-Zeichen zu verwenden, sollten Sie das folgende Verfahren in Betracht ziehen:
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
mysql -h DB_HOST -u DB_USER -p DB_PASSWORD \ --default-character-set=utf8 DB_NAME < DB_NAME-dump.sql
Dieser Prozess wandelt doppelt codierte Zeichen zwangsweise in gültige um UTF-8.
Quelle:
[Fixing Double Encoded UTF-8-Daten in MySQL](http://blog.hno3.org/2010/04/22/fixing-double-encoded-utf-8-data-in-mysql/)
Das obige ist der detaillierte Inhalt vonWie kann eine fehlerhafte UTF-8-Kodierung in MySQL und PHP behoben werden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!