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!