Heim > Artikel > Backend-Entwicklung > Wie konvertiere ich Latin1-Zeichen in einer UTF8-Tabelle in UTF8?
Latin1-Zeichen in einer UTF8-Tabelle in UTF8 konvertieren
Sie haben bemerkt, dass Sie das Einfügen von mysql_set_charset('utf8') in Ihre PHP-Skripte verpasst haben , und jetzt sind alle Tabellen in der Sortierung utf8_unicode_ci, was dazu führt, dass sich das Einfügen von Zeichen mit diakritischen Zeichen nicht richtig verhält.
Früher wurden die Daten jedes Mal, wenn Sie versuchten, etwas mit diakritischen Zeichen einzufügen, aufgrund der Nichtübereinstimmung falsch angezeigt in Zeichensätzen. Nachdem jedoch der Zeichensatz zwischen PHP und MySQL korrigiert wurde, werden neue Einfügungen nun korrekt gespeichert.
Der nächste Schritt besteht darin, alle älteren Zeilen zu reparieren, die immer noch fehlerhaft sind. Sie haben versucht, mb_convert_encoding und iconv zu verwenden, aber die Zeichenfolgen werden nach einem bestimmten Zeichen abgeschnitten.
Um die Daten wiederherzustellen, können Sie eine MySQL-Funktion verwenden wie:
convert(cast(convert(name using latin1) as binary) using utf8)
Je nachdem, wie Da die Daten während der Kodierungskonvertierung geändert wurden, müssen Sie möglicherweise die innere Konvertierung weglassen. Diese Funktion konvertiert die Daten von Latin-1 in Binär und dann in UTF-8 und stellt so sicher, dass alle Zeichen korrekt angezeigt werden.
Das obige ist der detaillierte Inhalt vonWie konvertiere ich Latin1-Zeichen in einer UTF8-Tabelle in UTF8?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!