Heim  >  Artikel  >  Datenbank  >  Wie behebe ich doppelt codierte UTF8-Zeichen in MySQL?

Wie behebe ich doppelt codierte UTF8-Zeichen in MySQL?

DDD
DDDOriginal
2024-10-30 23:22:30642Durchsuche

How to Fix Double-Encoded UTF8 Characters in MySQL?

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!

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