Umlautproblem nach Serverumzug in WordPress beheben

Dieser Blog hat letzte Nacht den Server gewechselt. Von einem Server mit PHP4 und MySQL4 auf einen neueren mit  PHP5 und MySQL5, alles bei all-inkl.de. Zwei Dinge geschahen: Zum einen war wpseo plötzlich deaktiviert und alle Einstellungen weg. Okay, Seriennummer neu eingeben, XML-File neu laden und Einstellungen anpassen, kein Problem. Dennoch unerklärlich.

Das zweite Problem war, dass alle Umlaute und das ß entstellt waren. Hier halfen mir ein paar Routinen, die ich via phpMyAdmin über die Datenbank laufen ließ.  Falls das Problem bei anderen auch auftauchen sollte, hier die Snippets:

Umlaute im Text korrigieren:


UPDATE wp_posts SET post_content = replace(post_content, 'ü', 'ü');
UPDATE wp_posts SET post_content = replace(post_content, 'ö', 'ö');
UPDATE wp_posts SET post_content = replace(post_content, 'ä', 'ä');
UPDATE wp_posts SET post_content = replace(post_content, 'ß', 'ß');

Umlaute im Post-Titel korrigieren:

UPDATE wp_posts SET post_title = replace(post_title, 'ü', 'ü');
UPDATE wp_posts SET post_title = replace(post_title, 'ö', 'ö');
UPDATE wp_posts SET post_title = replace(post_title, 'ä', 'ä');
UPDATE wp_posts SET post_title = replace(post_title, 'ß', 'ß');

Damit waren schon mal alle Posts korrekt. Allerdings haben hier Menschen Kommentare hinterlassen. Also folgte:

Umlaute in Kommentaren korrigieren

UPDATE wp_comments SET comment_content = replace(comment_content, 'ü', 'ü');
UPDATE wp_comments SET comment_content = replace(comment_content, 'ö', 'ö');
UPDATE wp_comments SET comment_content = replace(comment_content, 'ä', 'ä');
UPDATE wp_comments SET comment_content = replace(comment_content, 'ß', 'ß');

Jetzt waren noch die Namen der Kommentatoren entstellt, grade auch bei Trackbacks unschön. Also:

Umlaute im Titel der Kommentare korrigieren

UPDATE wp_comments SET comment_author = replace(comment_author, 'ü', 'ü');
UPDATE wp_comments SET comment_author = replace(comment_author, 'ö', 'ö');
UPDATE wp_comments SET comment_author = replace(comment_author, 'ä', 'ä');
UPDATE wp_comments SET comment_author = replace(comment_author, 'ß', 'ß');

Als letztes fielen mir entstellte Umlaute in den Tags auf. Vor allem unschön, da wpSEO die Stichworte auch in den Title der Seite einfügt. Also auch hier:

Umlaute in Tags korrigieren:

UPDATE wp_tags SET tag = replace(tag, 'ü', 'ü');
UPDATE wp_tags SET tag = replace(tag, 'ö', 'ö');
UPDATE wp_tags SET tag = replace(tag, 'ä', 'ä');
UPDATE wp_tags SET tag = replace(tag, 'ß', 'ß');

Tja, diesmal funktionierte es aber nicht. Es war allerdings eh nur ein Tag betroffen, so dass ich diesen von Hand korrigierte. Keine Ahnung, warum diesmal das komplette Suchen/Ersetzen fehlschlug. Ich schob es zuerst auf die zwischenzeitliche Migration von Wordpres 2.8.6 auf 2.9.2. Aber da ich die Namen der Kommentatoren noch nicht korrigiert hatte, führte ich dies als letzten Schritt durch und siehe da: Es ging. Also keine Ahnung, wo der Fehler bei der Tag-Konvertierung lag.

Wichtig: Alle Befehle einzeln durchführen, nicht alles auf einmal reinhauen.

Ach ja, erst hinterher entdeckte ich, dass in der config eingestellt war:

define(‚DB_CHARSET‘, ‚utf8‘);

In der Datenbank sind die Tabellen aber auf „latin1_swedish_ci“ formatiert.  Möglicherweise hätte ich also einfach nur die Einstellung in der Config ändern müssen. Teste ich, wenn das Problem beim nächsten Mal auftaucht 🙂

Edit: Hier eine andere Vorgehensweise bei Perun.

Kommentare (14) Schreibe einen Kommentar

  1. Da scheint dein Umzug nicht alle Daten der Datenbank fehlerfrei übernommen zu haben – ich meine dabei die Settings der Plugins. Nur wenn die Einstellungen in der Datenbank fehlen oder die Zuordnungstabelle kaputt geht, kann ein Plugin auf seine Einstellungen nicht einlesen. Insofern ist wpSEO sich keine Schuld bewusst, hat dir aber indirekt geholfen auch Tags zu konvertieren.

    Gratulation zum Umzug.

  2. Sergej, du kennst ja mittlerweile meine lustigen Erfahrungen bei Serverumzügen. Immerhin zickte diesmal die header.php nicht rum 😉

  3. Zwei Hinweise:
    „latin1_swedish_ci“ ist in diesem Kontext egal und hat auf die Darstellung keinen Einfluss.

    Und wer den Serverumzug selbst managen kann, kann allen Problemen ganz easy aus dem Weg gehen:
    http://www.mysqldumper.de/ downloaden, installieren, Dump anfertigen, Webspace umziehen, Dumper wieder installieren, Dump neu einspielen. Der Dumper sorgt in seinen neueren Version dafür, dass Umlautprobleme etc. vermieden werden.

  4. Ich arbeite grade an einer Datei, die man künftig direkt über die Datenbank laufen lassen kann, und die alles automatisch erledigt in wenigen Sekunden. Eventuell auch als PHP-Datei zum Download. Weiteres die Tage/Wochen 😉

  5. Moin moin,

    wir haben ein kleines Problem. Den wir haben wordpress upgedated von php4 auf php5 + SQL.
    Leider haben wir nun im Text immer Fragezeichen haben auch schon das probiert mit dem Ihr arbeitet und auch gepostet haben, teilweise hat das geholfen, aber leider nicht alles. wir können es drehen und wenden entweder ist das eine gut und das andere schlecht aber komplett haben wir es nicht hinbekommen.
    Eventuell kann uns da jemand unter die Arme greifen, das wäre super :
    Hier könnt ihr das anschauen : http://www.spruechetante.de/sprueche-sammlung/index.php/tag/hochzeitstag/

  6. Sieht aus, als wären da nur ein paar sehr spezielle Sonderzeichen erhalten geblieben. Dafür einfach das Äquivalent suchen und auch in der Datenbank beim Content durchlaufen lassen.

  7. […] Hand in allen Posts die fehlerhaften Zeichen auszutauschen, habe ich nach längerer Suche auf die vogeschriebenen Befehle von Frank Doerr zurückgreifen können. Und voila! alle Umlaute werden wieder korrekt angezeigt. […]

  8. Hallo zusammen, wir haben noch eine alte WP Installation die rübergeschubst werden muss. Leider klappt es bei uns mit dem MysqlDumper nicht. Wir haben weiterhin zerschossene Umlaute. Weiß jmd. Abhilfe. Wir haben alles versucht. und die Umlaute alle einzeln auszubessern haben wir auch als Lösung in Betracht gezogen bis wir gemerkt hben das Bindestriche und Anführungszeichen etc. auch alle zerschossen sind. 🙁

    Grüße
    Sascha

  9. Hey, wir haben seit einiger Zeit massive Probleme mit All-inkl.

    Aus unerklärlichen Gründen wurde plötzlich aus unseren ä´s wie bei dir oben „ü“ – mega nervig….

    Kann ich das selbst anpassen (bin nicht versiert mit PHPMyAdmin) oder kann ich das den Hoster machen lassen?

    Plus: Ich habe so ne Website, wo Mitglieder einiges rund um Online Marketing lernen können. Und wenn man da durch die Videos klicken will, kommt ständig folgende Fehlermeldung:

    MEINEURL.de/member-missing/?_optimizemember_seeking%5Btype%5D=page&_optimizemember_seeking%5Bpage%5D=689&_optimizemember_seeking%5B_uri%5D=L21pdGdsaWVkZXIvZGllLWVyc3Rlbi1zY2hyaXR0ZS9kZXItd2VnLXp1ci13ZWJzaXRlL3NjaHJpdHQtMi8%3D&_optimizemember_req%5Btype%5D=level&_optimizemember_req%5Blevel%5D=1&_optimizemember_res%5Btype%5D=page&optimizemember_seeking=page-689&optimizemember_level_req=1

    Kannst du dir erklären, was das bedeutet?

  10. Normalerweise sollte eine solche Änderung nicht im laufenden Betrieb beim selbern Hoster passieren – da muss schon jemand etwas gedreht haben. Am besten allinkl fragen. Zu den Videos kann ich nichts sagen, Offtopic hier 🙂

  11. Hi Frank, Danke – kein Problem. Mit denen bin ich die ganze Zeit im Austausch… Die sagen: Das Plugin verlangt Leserechte auf dem Server. Der (Shared) Server erlaubt dsa aber nicht.

    Was mich halt wundert ist, dass das eine Zeit lang ohne PRobleme gelaufen ist. Kann die .htaccess Datei dafür verantwortlich sein? Hatte da mal dran rumgewerkelt (unter Anleitung versteht sich)…

  12. Früher konnte man deutsche Buchstaben wie ß. üöäÜÖÄ auch in URLs von WordPress haben.

    Heute kann es sogar sein, daß Bilddateien bei Umstellung auf eine neue WP-Version plötzlich nicht mehr erkannt werden bzw. angezeigt werden, wenn die einen deutschen Buchstaben enthalten.

    Bei anderen Sprachen gibt es dieses Problem nicht.

    Bei Sprachen wie Chinesisch, Japanisch, Dänisch, Arabisch, Polnisch usw. usf., da geht das ja auch.

    Oder täusche ich mich mit dieser Behauptung?

Schreibe einen Kommentar

Pflichtfelder sind mit * markiert.