Heim > Datenbank > MySQL-Tutorial > Hauptteil

Wie behebe ich doppelt codierte UTF8-Zeichen in MySQL?

DDD
Freigeben: 2024-10-30 23:22:30
Original
641 Leute haben es durchsucht

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)
Nach dem Login kopieren

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);
Nach dem Login kopieren

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!

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
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!