WordPress von latin1 auf utf8 umstellen
1. Januar 2010 von Michael | Wordpress
Nach dem Upgrade der Blogs auf WordPress 2.9 fiel auf, dass die Umlaute und andere Sonderzeichen nicht korrekt dargestellt wurden. d.h. „ĂĽ“ anstatt „ü“, „ö“ anstatt ö, usw. In der WordPress-Konfigurationsdatei wp-config.php standen vor und nach den Upgrade die Zeilen
define('DB_CHARSET', 'utf8');
define('DB_COLLATE', 'utf8');
und unter der WP-Adminstration > Einstellungen > Lesen stand UTF-8 unter der Option „Zeichensatz für Seiten und Feeds“. Weshalb wird dies jetzt nach dem Upgrade plötzlich zum Problem?
Ein Blick auf die MySQL-Tabellen via phpMyAdmin offenbart es:

Hier sollte normalerweise utf8_general_ci stehen und eben nicht latin1_swedish_ci.
Schritt 1: MySQL-Tabellen auf UTF-8 umstellen
Nun gilt es also, die MySQL-Tabellen auf UTF-8 umzustellen. Ich habe hierzu einen MySQL-Dump erzeugt, d.h. mittels phpMyAdmin die Tabellen als Text-Datei exportiert. Danach habe ich, wie es auch auf Texto.de beschrieben ist, mittels Suchen/Ersetzen im Texteditor alle Vorkommnisse von CHARSET=latin1 durch CHARSET=utf8 ersetzt. Zum Schluss noch die Tabellen via phpMyAdmin leeren oder löschen und dann die bearbeitete Textdatei wieder hochgeladen. Als Ergebnis steht dann überall utf8_general_ci:

Alternativ kann man übrigens auch das WordPress-Plugin UTF-8 Database Converter eingesetzen. Aber aus irgend einem unerfindlichen Grund machte ich das ganze lieber manuell per Suchen/Ersetzen.
Schritt 2: Umlaute und Sonderzeichen konvertieren
Damit war es leider nicht getan, es wurden nach wie vor die Umlaute und Sonderzeichen wirr dargestellt ( „ĂĽ“ statt „ü“ usw.). Hier habe ich nun das Tool DSB’s Umlaut Korrektur (DUK) vom MySQLDumper-Entwickler eingesetzt (auf das Nils bei Perun aufmerksam machte).
Das ganze gestaltete sich sehr einfach: man muss nur in die mitgelieferte PHP-Datei die Datenbank-Daten eintragen (Server, DB-Name, Passwort) und diese dann auf den Webspace hochladen. Danach ruft man die Windows-exe-Datei duk.exe auf, gibt den Pfad zur PHP-Datei an und kann nun per 3 Mausklicks völlig entspannt das Zeichen-Wirrwarr automatisch korrigieren lassen.

Damit wurden sämtliche Umlaute und Sonderzeichen im Blog wieder korrekt angezeigt.
Frank Bültge hat übrigens eine Übersicht aller Sonderzeichen zusammengestellt.



Was ist ein Trackback?
5 Trackbacks/Pings:
1
Aus der Feder von 5432
Trackback vom 22. März 2010, 13:55
WordPress von latin1 auf utf8 umstellen... Schnell ein Blick in die WordPress Dokumentation geworden und nach der Lösung meiner Fragestellung, wie Stelle ich WordPress von dem nic…
2
Websenat
Trackback vom 29. März 2010, 13:29
Umlaute in der Datenbank von latin1 nach UTF8 korrigieren... Lange habe ich das Problem mit den Umlauten in meinem Blog vor mich hergeschoben, aber heute habe ich endlich mal die Z…
3
Zeichenkodierung bei übersetzten Weblogs
Pingback vom 5. Oktober 2010, 6:01
will, sollte von Anfang an auf die UTF8-Kodierung setzen. Wenn man sein Wordpress auf UTF8 umstellt, bloggt man ohne Kodierungsprobleme in Sprachen mit beliebigen Sonderzeichen. Wi…
4
WordPress OpenStreetMap plugin V0.9.5 released « HanBlog.net
Pingback vom 11. März 2011, 0:02
WP 2.8 to WP 3.1 which leaded to some challenges. One of them were the wrong special characters (UTF8 instead of latin). Beside this we changed some plugins at Fotomobil.at. In sev…
5
WordPress von latin1 auf utf8 umstellen | allow archive
Pingback vom 16. Juli 2011, 21:08
Copyright © Software Guide, ISSN 1864-9599. All rights reserved / Alle Rechte vorbehalten. ) Software Guide Author: admin on July 16, 2011 Category: Softwareguide Tags: latin1…
6 Comments:
1
Conny
2. Januar 2010, 3:50
Gut, dass Du es nicht mit dem UTF-8 Database Converter gemacht hast. Er löscht nämlich alle Linknamen und alle Kategoriennamen die einen Umlaut enthalten…….
2
Conny
2. Januar 2010, 4:10
Das DUK Tool hat mir ebenfalls alle Kategorien und Linknamen mit Umlauten rausgeworfen. Aber ansonsten scheint sich nichts geändert zu haben. Oder ich bin zu doof das hinzukriegen….
3
Joachim
2. Januar 2010, 10:30
Das steht mir denke ich auch noch bevor. Meine Tabellen laufen auch noch auf latin1_swedish_ci. Update auf WordPress 2.9 steht bei mir noch aus.
Hatten eigentlich mehrere dieses Problem beim Update auf WordPress 2.9?
Vielen Dank für den Post.
4
Michael
4. Januar 2010, 15:07
Mein Weg kommt ganz ohne „gezieltes“ Umwandeln der Sonderzeichen und Umlaute aus:
http://www.greensmilies.com/20.....nach-utf8/
Die Kollation ändern, hat eigentlich nur Einfluss auf die Art der Sortierung.
5
Kalle
5. Januar 2010, 15:35
Hallo,
hatte das Problem auch. Habe alles aus der Datenbank exportiert, mit Texteditor geändert und wieder importiert. Nun läuft alles wieder auch ohne Änderungen an den Dateien!
6
Markus
5. Januar 2010, 20:10
Schön, auch mal wieder ein Lebenszeichen von dir zu hören! :-)
Bei mir tritt das Problem, das du oben genannt hast, zum Glück nicht auf.
Die Kommentarmöglichkeit ist derzeit für diesen Artikel ausgeschaltet.