apple,development,life & more
Thursday, August 16. 2007
Weitere Lektion in der Umlautproblematik
Trackbacks
Trackback specific URI for this entry
No Trackbacks
Comments
Display comments as
(Linear | Threaded)
Die beschriebene Aufgabe ist mit einfachereren Mitteln zu lösen:
- Dump der alten Datenbank mit mysqldump: Dump enthält die in der latin1-Datenbank abgespeicherten UTF8-kodierten Daten
- Nachbearbeitung der Dump-Datei, damit die Client-Verbindung für das Wiedereinlesen korrekt auf UTF8 gesetzt wird. Am Anfang der Datei einfügen:
/*!40101 SET NAMES utf8 */;
(Diese Anweisung fehlt im Dump, da die originale Datenbank ja dachte, dass der Inhalt als Latin1 kodiert sei.)
- Wiedereinlesen der Dump-Datei in eine neue, defaultmäßig auf UTF8 gesetzte Datenbank. Da als Verbindung jetzt UTF8 genutzt wird, der Dump ebenfalls UTF8-Daten enthält, gibt es kein Problem. Kodierte Umlaute werden korrekt in die Datenbank einfgefügt.
Diese Vorgehensweise funktioniert; soeben erfolgreich getestet mit einer Wordpress MySQL4.0 Migration auf MySQL5. Die Wordpressdaten waren in der 4.0-DB als UTF8 kodiert.
Thorsten
Thorsten
- Dump der alten Datenbank mit mysqldump: Dump enthält die in der latin1-Datenbank abgespeicherten UTF8-kodierten Daten
- Nachbearbeitung der Dump-Datei, damit die Client-Verbindung für das Wiedereinlesen korrekt auf UTF8 gesetzt wird. Am Anfang der Datei einfügen:
/*!40101 SET NAMES utf8 */;
(Diese Anweisung fehlt im Dump, da die originale Datenbank ja dachte, dass der Inhalt als Latin1 kodiert sei.)
- Wiedereinlesen der Dump-Datei in eine neue, defaultmäßig auf UTF8 gesetzte Datenbank. Da als Verbindung jetzt UTF8 genutzt wird, der Dump ebenfalls UTF8-Daten enthält, gibt es kein Problem. Kodierte Umlaute werden korrekt in die Datenbank einfgefügt.
Diese Vorgehensweise funktioniert; soeben erfolgreich getestet mit einer Wordpress MySQL4.0 Migration auf MySQL5. Die Wordpressdaten waren in der 4.0-DB als UTF8 kodiert.
Thorsten
Thorsten

