Latin1-Zeichen in einer UTF8-Tabelle in UTF8 konvertieren
Sie sind auf ein Problem gestoßen, bei dem Zeichen mit diakritischen Zeichen (z. B. „Jáuò Iñe“) ) wurden aufgrund eines Fehlens fälschlicherweise in einer UTF8-Tabelle gespeichert „mysql_set_charset('utf8')“-Aufruf.
Um dieses Problem zu beheben, versuchen Sie, die betroffenen Zeilen mit „mb_convert_encoding“ und „iconv“ zu konvertieren. Allerdings können diese Methoden keine Zeichen erfassen, die über das erste „illegale“ Zeichen hinausgehen (im Beispiel als „ă“ dargestellt).
Der empfohlene Ansatz zur Korrektur der Daten ist die Verwendung der MySQL-Funktion:
convert(cast(convert(name using latin1) as binary) using utf8)
Erklärung:
In manchen Fällen ist die innere Konvertierung möglicherweise nicht erforderlich, z Die Daten können bereits in einem Binärformat gespeichert sein, das für die Konvertierung in UTF-8 geeignet ist. Das Testen beider Optionen sollte den richtigen Ansatz für Ihre Situation ermitteln.
Das obige ist der detaillierte Inhalt vonWie kann ich Latin1-Zeichen in einer UTF8-MySQL-Tabelle korrekt in UTF8 konvertieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!