WordPress nachträglich auf UTF-8 umstellen

image

Wie viele andere Web-Applikationen auch hat WordPress das Problem, dass die frühen Versionen noch nicht konsequent internationalisiert waren, sprich die Daten wurden nicht von Anfang als Unicode in die Datenbank geschrieben. Inzwischen ist UTF-8 auch bei WordPress Standard, und wer heute ein neues Blog aufsetzt, braucht sich keine Gedanken zu machen. Wer hingegen ein älteres Blog auf die neuste WordPress-Version aktualisiert, könnte die unangenehme Erfahrung machen, dass Umlaute und andere Nicht-ASCII-Zeichen nicht korrekt dargestellt werden.

Ein Blick in die Datenbank (z.B. mit phpMySQL) offenbart das Problem: Die Kollation der Tabellen steht noch auf “latin1_swedish_ci”, während WordPress davon ausgeht, dass die Daten als “utf8_general_ci” in der Datenbank vorliegen. Einfach die Kollation der fraglichen Tabellen umschalten (was man mit einem Tool wie phpMySQL grundsätzlich kann) ist keine Lösung, weil dadurch die bereits bestehenden Daten nicht konvertiert werden.

Ein Blick in die WordPress-Dokumentation zeigt, dass man mit diesem Problem nicht allein ist. Der dort empfohlene Prozess zur Umwandlung von Latin1 nach UTF-8 ist allerdings für technisch weniger versierte Anwender wenig einladend. Einfacher geht es mit dem UTF-8 Database Converter, der ganz einfach als WordPress-Plug-in installiert wird und auf Knopfdruck den gesamten Konversionsprozess abarbeitet.

Wichtig zu wissen:

  • Machen Sie unbedingt zuerst ein Backup Ihrer WordPress-Datenbank.
  • Offiziell unterstützt das Plug-in nur die WordPress-Versionen 2.1.x und 2.2.x (weil zwischen diesen beiden Versionen der Wechsel auf UTF-8 stattgefunden hat). Bei mir hat die Konversion aber auch unter WordPress 2.6.1 problemlos funktioniert.
  • Das Plug-in konvertiert sämtliche Tabellen der WordPress-Datenbank, also auch diejenigen, die von allfälligen Plug-ins angelegt wurden. In meinem Fall blieb dies ohne negative Folgen, aber ich kann nicht beurteilen, ob gewisse Plug-ins damit Schwierigkeiten haben könnten.
  • Je nach Grösse Ihrer Datenbank kann die Konversion einige Minuten dauern. Werden Sie nicht ungeduldig, wenn längere Zeit scheinbar nichts passiert und drücken Sie nicht die Reload-Taste.

7 Gedanken zu „WordPress nachträglich auf UTF-8 umstellen“

  1. der Datenbankkonverter ist nur für eine bestimmte WP Vesion und zerschießt bei allen anderen Inhalte.

    Irgendwie sollte man Dinge ausprobiert haben,bevor man sie anderen empfiehlt 😉

    lg

  2. Hallo Monika

    Um mich selbst zu zitieren:

    “Offiziell unterstützt das Plug-in nur die WordPress-Versionen 2.1.x und 2.2.x (weil zwischen diesen beiden Versionen der Wechsel auf UTF-8 stattgefunden hat). Bei mir hat die Konversion aber auch unter WordPress 2.6.1 problemlos funktioniert.”

    Halten wir also fest:

    1. Ich habe ausdrücklich darauf hingewiesen, für welche WordPress-Versionen das Plug-In gedacht ist. (Ausserdem gibt es am Anfang des Konversionsprozesses nochmals eine unübersehbare Warnung.)

    2. Ich habe aber auch gesagt, dass es bei mir unter WordPress 2.6.1 funktioniert hat. (Was heisst: Ich habe es selbst ausprobiert, und zwar mit Erfolg – sonst würde Open Mind jetzt nicht mehr so aussehen, wie es aussieht.)

    Irgendwie sollte man einen Blog-Post gelesen haben, bevor man ihn kritisiert. 😉

  3. wer Admincenter==>Verwaltung==>Kategorienbeschreibung ausgefüllt hat und auch aktiv benutzt und /oder wer unter *Auszug* selber was hineingetippt hat und in beiden irgendwann einer unserer Umlaute erscheint, schneidet dieses Plugin ab diesem Umlaut ab.

    category description und selber geschriebener excerpt ist dann kaputt, ebenso alle Entities in benutzerdefinierten Feldern,

    auch in WP 2.6.1 – so es bei Dir klappte,hast Du dies alles eben nicht benutzt.

    wenn Du dies alles aber nicht benutzt hast, hast Du nicht genau getestet oder ungenau beschrieben wann es funktioniert.

    *bei mir hat es funktioniert* sagt ja nichts über all das aus was Du an WP eigenen Möglichkeiten nutzt/brauchst.

    lg

  4. Danke Monika, dass Deine Kritik nun konstruktiver wird – Deine erste Aussage (“zerschießt Inhalte”) war nämlich genau so unpräzise wie der von Dir kritisierte Artikel.

    Es ist richtig, dass ich die beiden von Dir beschriebenen Features nicht nutze. Ich habe allerdings auch nie behauptet, alle erdenklichen Varianten durchgetestet zu haben – ich habe nur gesagt: Bei mir hat’s funktioniert, und das hat es auch. Und wer den Punkt 1 meiner Liste (“Machen Sie unbedingt zuerst ein Backup Ihrer WordPress-Datenbank.”) berücksichtigt, trägt ja auch keinen Schaden davon.

  5. Hallo,

    ich habe UTF-8 Database Converter für WordPress 2.7 benützt und alles hat geklappt. (Bislang habe ich noch keine Fehler festgestellt.)

    Danke für den Tipp!

    Grüße

    Ferdi

  6. Hallo,

    Habe soeben den UTF-8 Database Converter bei meiner WordPress 2.7 Installation angewendet. Hat zwar nach einer Weile einen Internal Server Error ausgespuckt, jedoch hat das Konvertieren scheinbar einwandfrei funktioniert. Das Plugin “Adsense Deluxe” funktioniert allerdings nicht mehr, hier kommt jetzt die Fehlermeldung “Cannot use string offset”. Ansonsten bin ich zufrieden.

    Beste Grüße,
    Tommy

Hinterlassen Sie einen Kommentar