Heim > Datenbank > MySQL-Tutorial > Wie behebe ich doppelt codierte UTF8-Zeichen in einer MySQL-Tabelle?

Wie behebe ich doppelt codierte UTF8-Zeichen in einer MySQL-Tabelle?

DDD
Freigeben: 2024-10-31 00:15:03
Original
966 Leute haben es durchsucht

How to Fix Double-Encoded UTF8 Characters in a MySQL Table?

Korrektur doppelt codierter UTF8-Zeichen in einer UTF-8-Tabelle

Bei einem früheren Importvorgang mit LOAD DATA INFILE wurde fälschlicherweise davon ausgegangen, dass die Eingabe CSV ist Die Datei war Latin1-codiert. Dies führte dazu, dass Multibyte-Zeichen in zwei Einzelbyte-Zeichen aufgeteilt und anschließend in UTF-8 doppelt codiert wurden, wodurch Anomalien wie „ñ“ anstelle von „ñ“ entstanden.

Um diese falsch codierten Zeichenfolgen zu korrigieren, hat MySQL bietet eine Lösung mit der Funktion CONVERT():

CONVERT(CAST(CONVERT(field USING latin1) AS BINARY) USING utf8)
Nach dem Login kopieren

Diese Funktion nimmt das doppelt codierte Feld und konvertiert es sequentiell von Latin1 (unter der Annahme der ursprünglichen Dateicodierung) in eine binäre Darstellung und schließlich in UTF-8. Dadurch wird die doppelte Kodierung effektiv rückgängig gemacht.

Um diese Korrektur anzuwenden, kann eine UPDATE-Anweisung ausgeführt werden:

UPDATE tablename SET
    field = CONVERT(CAST(CONVERT(field USING latin1) AS BINARY) USING utf8);
Nach dem Login kopieren

Diese Anweisung ersetzt die vorhandenen Feldwerte durch die korrigierten und stellt die beabsichtigte UTF wieder her -8 Darstellung der Multibyte-Zeichen.

Das obige ist der detaillierte Inhalt vonWie behebe ich doppelt codierte UTF8-Zeichen in einer MySQL-Tabelle?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage