Heim  >  Artikel  >  Datenbank  >  Wie korrigiert man die Unicode-Doppelkodierung in UTF-8-Tabellen?

Wie korrigiert man die Unicode-Doppelkodierung in UTF-8-Tabellen?

Barbara Streisand
Barbara StreisandOriginal
2024-11-01 14:28:03494Durchsuche

How to Correct Unicode Double-Encoding in UTF-8 Tables?

Unicode-Doppelkodierungskorrektur in UTF-8-Tabellen

Das Auftreten von Anomalien wie „ñ“ anstelle von „ñ“ weist auf eine potenzielle Doppelkodierung hin -Kodierungsproblem mit UTF-8-Zeichen. Dies tritt auf, wenn eine CSV-Datei fälschlicherweise unter der Annahme geladen wird, dass sie Latin1-kodiert ist, was dazu führt, dass Multibyte-Zeichen fälschlicherweise als einzelne Zeichen identifiziert und anschließend erneut in UTF-8 kodiert werden.

Lösung

Um diese Doppelkodierung zu korrigieren, steht eine MySQL-Funktion zur Verfügung:

<code class="sql">CONVERT(CAST(CONVERT(field USING latin1) AS BINARY) USING utf8)</code>

Diese Funktion nimmt in Latin1 kodierte Zeichen, wandelt sie in Binärform um und konvertiert sie dann zurück in UTF-8. Dadurch wird die Doppelkodierung effektiv entfernt.

Korrektur per UPDATE-Anweisung

Um die betroffenen Felder zu korrigieren, können Sie die Funktion in einer UPDATE-Anweisung verwenden:

<code class="sql">UPDATE tablename SET
    field = CONVERT(CAST(CONVERT(field USING latin1) AS BINARY) USING utf8);</code>

Durch die Ausführung dieser Anweisung werden die problematischen Zeichen in ihrer korrekten UTF-8-Darstellung wiederhergestellt.

Das obige ist der detaillierte Inhalt vonWie korrigiert man die Unicode-Doppelkodierung in UTF-8-Tabellen?. 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