Wiederherstellung von doppelt codierten UTF8-Zeichen
Zuvor mit LOAD DATA INFILE importierte Daten wurden fälschlicherweise als in Latin1 codiert angenommen. Daher wurden Multibyte-Zeichen in einzelne Bytes aufgeteilt und anschließend in UTF8 kodiert, was zu einer Doppelkodierung führte. Dies führt zu beschädigten Zeichen wie „ñ“ anstelle von „ñ“.
Um diese Fehler zu beheben, kann eine spezielle MySQL-Funktion verwendet werden, um die korrekten UTF8-Strings nach der Doppelkodierung wiederherzustellen:
CONVERT(CAST(CONVERT(field USING latin1) AS BINARY) USING utf8)
Diese Funktion kann in eine UPDATE-Anweisung integriert werden, um die betroffenen Felder zu korrigieren:
UPDATE tablename SET field = CONVERT(CAST(CONVERT(field USING latin1) AS BINARY) USING utf8);
Durch die Ausführung dieser Anweisung ersetzt die Datenbank die doppelt codierten Werte durch ihre korrekten UTF8-Gegenstücke und löst sie auf die Charakteranomalien.
Das obige ist der detaillierte Inhalt vonWie behebe ich doppelt codierte UTF8-Zeichen in MySQL?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!