Gestern war es wieder soweit. Eine von De-Script Solutions designte Seite ging online wurde auf eine Domain umgezogen. Das Problem, diese lag bei unserem alten Problem-Hoster 1&1. Doch entgegen aller Erwartungen lief erstmal alles problemloss, bis man anfing die Texte zu lesen.
Ein Umlaut Problem nach dem anderen
Mein erster Gedanke war, dass beide Datenbanken auf einer unterschiedlichen Textcodierung basieren. Dies erwies sich jedoch als falsch, denn beide Datenbanken nutzen utf8_gerneral_ci. So musste ich nach dem Problem recherchieren und das Netz ist voll mit Anleitungen zum Thema. Manche trumpfen mit MySQL-Befehlen andere mit ganzen Scripts. Doch helfen tut das nicht wirklich. Installiert man WordPress ganz neu gibt es auch keine Probleme mit den Sonderzeichen. Ich forschte nun in der Konfigurationsdatei, ob es dortFehler bei den Einstellungen gab was eigentlich unwahrscheinlich war und auch bei der Datenbankkodierung stand: „utf8“.
In der Config wird man fündig
Wie anfangs beschrieben laufen die Datenbanken jedoch mit utf8_general_ci. Installiert man WordPress neu so stellt dies kein Problem dar. Beim Umzug scheint WP damit jedoch nicht mehr klarzukommen und so hilft ein kleiner aber durchschlagender Lösungsansatz.
Die Lösung
Man ändere die Zeile:
define(‚DB_CHARSET‘, ‚utf8‘);
in
define(‚DB_CHARSET‘, ‚utf8_general_ci‘);
Mit dieser simplen Lösung gingen alle Probleme weg.