Schon seit längerem hatte ich vor, neben dem Update auf Wordpress 2.5 auch die Datenbank auf UTF-8 umzustellen. Die Krux ist, das Wordpress zwar standardmäßig die Datenbank mit UTF-8 Inhalten befüllt (liegt an der Kodierung des Front- und Backends), die Datenbank von MySQL per Default aber auf Latin1 eingestellt ist. Im ersten Moment ist das auch kein Problem - der Datenbank ist es wurscht, was man ihr an Daten gibt und so landen UTF-8 kodierte Daten in einer Latin1-Datenbank.
Probleme gibt es erst, wenn man Suchmechanismen oder Stringfunktionen von MySQL verwendet - Beispielsweise nach Worten mit Umlauten suchen und die Ergebnisse alphabetisch sortiert ausgeben möchte. Nach einem Blick in die Datenbank war mir schlecht. Ich betreibe das Blog seit Wordpress 1.5 und seit dem hat sich jede Menge getan. Unter anderem wurde die Zeichenkodierung im Editor verbessert. Das hatte aber zu folge, das jetzt Umlaute verschieden kodiert in der Datenbank liegen. Ganz alte Artikel ISO-Kodiert (Westeuropäisch), mittelalte Artikel (so etwa von letztem Sommer) haben Hex-Kodierte Umlaute (Über Hex-Code Entities) und neuere Artikel haben korrekt kodierte UTF-8 Inhalte.
Wer nicht selbst Hand anlegen möchte, dem kann ich nur wärmstens das Plugin “UTF-8 Database Converter” empfehlen. Zu meinem Erstaunen geht es nicht nur die bekannten Wordpress Tabellen durch, sondern auch benutzerdefinierte Tabellen. Dort sucht es nach nicht UTF-8 kodierten Attributen, wandelt diese nach UTF-8 um und kümmert sich auch um die korrekte Kodierung der Tabelleninhalte.
Das Plugin wird nur ein einziges Mal verwendet. Man läd es also wie jedes andere Plugin hoch, aktiviert es und führt es aus. Danach kann man es wieder deaktivieren und aus dem Plugin-Ordner entfernen.
GANZ WICHTIG! Es ist ein automatischer Prozess, der da abläuft und natürlich kann da ganz viel in die Hose gehen. Ein Datenbank Backup ist also dringend erforderlich! (Das Plugin erinnert auch mehrmals daran.) Ich selbst habe meine Wordpress Installation nebst Datenbank dupliziert und auf einer Demo-URL getestet bevor ich es live geschaltet habe. Diese Vorgehensweise ist empfehlenswert.
Bei mir hat das Update prima geklappt - ich kann es nur jedem empfehlen.
Ähnliche Artikel:





