fob marketing

UTF-8 – Umstellung (WordPress-Optimierung, Teil 1)

Kürzlich hatte ich angekündigt, „bei Zeiten“ einmal ein paar WP-Optimierungstipps zu bloggen. Bei diesen Optimierungstipps geht es nicht um Suchmaschinenoptimierung, sondern um allgemeine Systemoptimierungen. Weil vor ein paar Tagen das UTF-8-Problem durch den WP-Ticker gegeistert ist, starte ich einfach mal mit der Zeichensatzumstellung:

Aktuelle WordPress-Versionen verfügen über eine Konfigurationsdatei, in welcher man die UTF8-Kodierung skriptseitig voreinstellen kann und sollte. Die Voreinstellung bewirkt, dass das WordPress-System mit der Datenbank im UTF8-Zeichensatz kommuniziert. Ältere WordPress-Versionen wurden jedoch meist in einem westeuropäischen Standard-Zeichensatz installiert, wodurch nach einem WordPress-Update merkwürdige Sonderzeichen auftreten können – nicht nur im eigenen Blog, sondern mangels Kompatibilität auch bei der Kommunikation mit anderen Blogs. Auch wenn es einigen Aufwand mit sich bringt, sollte man das UTF-8-Problem deshalb möglichst schnell und sauber lösen.

Zur Fehlerkorrektur muss die Datenbank vollständig auf den UTF8-Standard umgestellt werden. Für die Datenbankumstellung bieten sich zwei verschiedene Lösungswege an. Sicherungskopien können nie schaden – und wer ein Cache-Plugin verwendet, sollte dieses rechtzeitig deaktivieren. Bei frischen Installationen sollte keine UTF-8-Konvertierung nötig sein. Denn dort kann die Datenbank direkt im UTF-8-Zeichensatz angelegt und passend dazu gefüllt werden.

1. Möglichkeit: UTF-8-Korrektur vor dem Datenbankwechsel

Einen interessanten Lösungsweg zur Umstellung der Datenbank auf UTF-8 – nicht meinen – entdeckte ich wie gesagt kürzlich über den WP-Ticker auf alexking.org. Dort wurde empfohlen, die alte Datenbank bewusst Latin-1 kodiert zu exportieren, den Zeichensatz des Datenbank-Backups mit einem UTF-8-Zeichensatz auszutauschen und die so manipulierte Datenbanksicherung in eine vorbereitete UTF-8 Datenbank zu importieren. Alle bei der UTF8-Umstellung auftretenden Fehler müssen nachträchlich manuell korrigiert werden.

2. Möglichkeit: UTF-8-Korrektur nach dem Datenbankwechsel

In meinem Fall wechselte ich von PHP4 und MySQL4 auf PHP5 und MySQL5. Ich hatte die alte Datenbank zuvor normal gesichert und bereits in eine neue (als UTF-8 voreingestellte) Datenbank importiert. Die WordPress-Konfigurationsdatei war bereits auf UTF-8 eingestellt, als ich das Ergebnis in Augenschein nahm. Es sah nicht gut aus… 😉

Die Datenbank-Tabellen kann man leicht mit einem Tool wie phpMyAdmin auf UTF-8 umstellen. Wie aber konvertiert man den Datenbankinhalt am geschicktesten, der ja bislang komplett in einem westeuropäischen Zeichensatz (normalerweise Latin1_swedish_ci) gespeichert wurde?

Wie man den Zeichensalat zunächst neutralisiert, um ihn anschließend mit dem UTF-8-Zeichensatz wieder in Schwung zu bringen, wird bei WordPress ausführlich erklärt. Für die UTF-8-Konvertierung sind aber auch verschiedene Skripte im Umlauf, die einem die Konvertierung erheblich erleichtern können. „Mein“ Skript fand ich samt Anleitung bei My Digital Life. Vor der UTF-8-Konvertierung musste ich diverse Datenbank-Indizes entfernen, weil die Aktualisierung („Einspielen der skriptseitig generierten Datenbankbefehle“) anderenfalls nicht fehlerfrei durchlaufen kann. Nach UTF-8-Umstellung müssen die entfernten Indizes neu gesetzt werden, um die gewohnte Performance wieder herzustellen.

Am Ende der Aktion sollte eine komplett saubere UTF-8-Datenbank stehen, die zu aktuellen WordPress-Systemen und anderen internationalen Schnittstellen voll kompatibel ist. Denn das 8-bit Unicode Transformation Format UTF-8 vereint nicht nur diverse internationale Zeichensätze in sich, sondern repräsentiert inzwischen auch die meist genutzte Kodierung für Unicode-Zeichen (weltweit).

Die mobile Version verlassen