Heim > Datenbank > MySQL-Tutorial > Wie kann ich beschädigte Latin1-Zeichen in UTF8-MySQL-Tabellen wiederherstellen?

Wie kann ich beschädigte Latin1-Zeichen in UTF8-MySQL-Tabellen wiederherstellen?

Susan Sarandon
Freigeben: 2024-11-30 14:28:11
Original
359 Leute haben es durchsucht

How Can I Recover Corrupted Latin1 Characters in UTF8 MySQL Tables?

Wiederherstellen von Latin1-Zeichen in UTF8-Tabellen: Eine Lösung

Wie Sie bereits erwähnt haben, gewährleistet die Einstellung des Zeichensatzes zwischen PHP und MySQL neue Einfügungen korrekt gespeichert sind. Allerdings kann die Wiederherstellung alter Daten mit diakritischen Zeichen, die zuvor als Latin1 gespeichert und später beschädigt wurden, eine Herausforderung sein.

Um dieses Problem zu beheben, können Sie die MySQL-Konvertierungsfunktion verwenden:

convert(cast(convert(name using latin1) as binary) using utf8)
Nach dem Login kopieren

Standardmäßig Diese Funktion kann die meisten beschädigten Daten ohne weitere Änderungen reparieren. Möglicherweise müssen Sie jedoch die innere Konvertierung anpassen, je nachdem, wie die Daten während der ersten Codierungskonvertierung geändert wurden.

Betrachten Sie das folgende Beispiel:

$result = mysql_iquery('SELECT * FROM `table`');
while ($row = mysql_fetch_assoc($result)) {
    $message = $row['name'];
    $message = convert(cast(convert($message using latin1) as binary) using utf8);
    mysql_iquery('UPDATE `table` SET `name`="'.mysql_real_escape_string($message).'" WHERE `a1`="'.$row['a1'].'"');
}
Nach dem Login kopieren

Mit dieser Funktion sollten Sie Folgendes tun in der Lage sein, die beschädigten diakritischen Zeichen wiederherzustellen und die betroffenen Zeilen korrekt zu aktualisieren.

Das obige ist der detaillierte Inhalt vonWie kann ich beschädigte Latin1-Zeichen in UTF8-MySQL-Tabellen wiederherstellen?. 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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage