Upgrade erfolgreich, Umlaute tot

Heute Nacht hat all-inkl.com meinen kompletten Account auf einen anderen Server umgezogen. Zum einen weil der alte Server richtig in die Knie ging und zum anderen weil ich PHP und MySQL in aktueller Version haben wollte. Das ging recht schnell und ohne größere Probleme. Jetzt habe ich auf dem Server PHP 5.2.6 und MySQL 5.0.51a im Einsatz … vorher war es PHP 4.4.8 und MySQL 4.0.23.

Ich hatte Sorge, wie ich es in einem früheren Beitrag beschrieben habe, wegen dem Zeichensatz-Wirrwarr (iso-8859-1 vs. utf-8). Zum einen weil ich von vielen gehört habe das es Probleme gibt beim Upgrade von alten MySQL-Versionen und speziell dann wenn vorher iso im Einsatz war. Deswegen hatte ich auch Sorge wegen perun.net, weil es schon von Anfang an mit iso kodiert wird.

Nun musste ich heute Nacht ein bisschen lachen. Alle Weblogs die auf utf-8 waren, hatten demolierte Umlaute und perun.net nicht. 🙂 Ich schaute mir die Datenbanken an und überall war latin1_swedish voreingestellt … daher war es nicht verwunderlich das die Sonderzeichen kaputt sind.

Was machen? Als erstes stellte ich perun.net auf utf-8 um. Dadurch das die Umlaute korrekt waren, war dies an sich kein Problem. Ich habe die Datenbank exportiert in einem Texteditor aufgemacht und so wie Monika es beschreibt habe ich nach CHARSET=latin1 gesucht und diese durch CHARSET=utf8 ersetzt. Das ging vorher mit der alten MySQL-Version (kleiner 4.1) leider nicht.

Danach die Datenbank importiert und im Weblog im Admin-Bereich auf utf-8 umgestellt … das war’s! Das war mein Weg, ich bin allerdings zuversichtlich das es noch mind. 2-3 weitere Vorgehensweisen gibt.

Bei den zerschossenen Umlauten war das einen kleinen Tick zeitintensiver. Entweder man hat ein Datenbank-Backup, dann muss man es neu importieren – damit man die Sonderzeichen und Umlaute wiederherstellt – und dann so vorgehen wie ich es bereits oben beschrieben habe.

Ich hatte vorher in PHPMyAdmin versucht die Zeichensätze umzustellen und auch in der wp-config.php die Kollation umzustellen, die Datenbank hat sich davon nicht beeindrucken lassen. Deswegen habe ich auch hier den Umweg über den Texteditor die Zeichensätze einstellen müssen.

Hat man kein Backup, dann ist es auch kein Problem. Dann exportiert man die Datenbank, öffnet sie in einem Texteditor und ersetzt zuerst die kaputten Sonderzeichen und anschließend die Zeichensatz-Angaben und importiert das ganze.

Und wie schauen die kaputten Sonderzeichen aus die man durch “Search & Destroy” (aka Suchen und Ersetzen) umwandeln muss? Gute Frage, ü ist z.B ü und ß steht für ß usw. Auf konzentrat.org gibt es eine vollständigere Liste. Dort wird auch beschrieben, wie man im PHPMyAdmin anstatt im Texteditor den Ersetz-Vorgang durchführt.

So jetzt habe ich ein bisschen die Nase voll von verschiedenen MySQL-Versionen und Zeichensätzen und hoffe das ich für eine sehr lange Zeit nicht mehr mit dem Problem konfrontiert werde.

Übrigens hatte ich als Texteditor PSPad benutzt, weil mein eigentlicher HTML-Editor (WeBuilder) bei MySQL-Dateien dir größer als 350-400 KByte waren sich verabschiedet hat.

Wir arbeiten seit 20 Jahren mit WordPress und bieten diverse Dienst­leistungen rund um das System an. Kontaktiere uns für weitere Informationen oder für ein Angebot.

Verwandte Beiträge:

23 Kommentare

  1. Na also, ich hatte aber auf das Script hingewiesen, welches alles automatisch macht. Auch die Liste aller Zeichen liegt vor, ebenfalls als PDF.

    * Vermute mal, dass Kommentarabo per Mail nicht geht, die Checkbox hat keinen Texthinweis.

  2. Nur mal so als kleiner Tipp für zukünftige MySQL experiemente, verwende dann doch den MySQL-Dumper. Sehr komfortabel das Tool und nimmt einem viel Arbeit ab. Sichere und bearbeite damit alle meine Blogs und 1 Forum! 😀

  3. Hallo Frank,

    * Vermute mal, dass Kommentarabo per Mail nicht geht, die Checkbox hat keinen Texthinweis.

    Danke für den Hinweis, anstatt den vorgegebenen Werten für das Plugin wurde beim Upgrade überall der Wert “a” eingetragen.

  4. Der entsteht meist, wenn Sonderzeichen im Import sind, eventuell also alle Einstellungen prüfen. Ansonsten könnte ein Array-Fehler vorliegen.

  5. @Frank,

    ich kann mich erinnern, dass wenn überall als Wert “array” erscheint es sich um einen array-Fehler handelt. Wahrscheinlich dies hier auch der Fall.

    Wird halt nicht umhinkommen überall einen Kontrolldurchgang zu machen.

  6. Hi Perun

    total zerschossene Umlaute brachte ich ohne search and replace hin . Nur mit Umstellen der Tabellen und danach in der config.php alles was auf utf hinweist auskommentieren, sonst moppelt das nämlich doppelt.

    Bis ich da drauf kam – hatt ich einige viele graue Haare mehr und mein Friseur freute sich 8)

    Seitdem mir ein Script zum Umstellen von WP auf utf8 mal alle meta descriptions und alle excerpte gekillt hatte (hat einfach jeden Text nach dem 1. Umlaut gelöscht) seither habe ich vor Scripten diesbezüglicher Art Heidenspundus. 😕

    Freut mich, dass meine simple Lösung half – weil mysql Datenbanken sind sonst nicht so mein Spezialgebiet – da habe ich noch uraltes Wissen aus “VorGoogles”Zeiten ….

    lg

  7. PSPad bietet noch einiges mehr, wie zum Beispiel Dateien miteinander zu vergleichen. Auch lassen sich Linux oder MacOS Dateien damit bearbeiten und wieder speichern, ganz nützlich für Administratoren in hetergogenen Netzwerken. Ein schönes Teil, das ich bevorzugt einsetze 🙂

  8. Mach Euch keinen Stress und Arbeit, ruf den Support von AllInkl an und lass die das richten. Ich hatte das Problem auch und der gute Mann am Telefon hat in einigen WordPressdateien etwas umgeschrieben und alle Umlaute wurden korrekt dargestellt. Leider weiß ich nicht mehr welche Dateien er bearbeitet hatte. Er sagte nur, dass das wohl öfter auftritt und sie schon Bescheid wüssten.

  9. Du machst mir ja richtig Mut 😈

    Sobald es stürmt und regnet, sobald die Spanier mal eine vernünftige und zuverlässige Internet-Verbindung zustande bringen, … mit anderen Worten: sobald die Hölle überfriert :mrgreen:

    mach ich mich nochmal dran.

    Kann nicht mal irgend ein Ass irgendwo und irgendwie ein wirklich zuverlässiges Kompendium rund um das Thema Datenwiederherstellung und Datenüberarbeitung schreiben und online stellen?
    Man liest viel, aber nie an einem Ort, nachgeprüft und funktionell. 😳

    Lieber Gruß
    Rata

  10. Schicker Blog – kannte ich noch gar nicht! 🙂 Ich bin zufällig hier gelandet. Aber ich komme gern wieder…

    Ich habe auch eine Datenbank MySQL 5.X. Die Umstellung von MySQL 4.X verlief eigentlich fehlerfrei. Es gibt ein Plugin, dass Umlaute auch korrigiert, u.a. wenn du Überschriften mit Umlauten hast.

  11. Ein ähnliches Problem hatte ich mit einem Webprojekt, dass mein Programmierer in UTF-8 programmiert hatte und mein Editor (seeehr alt) nicht interpretieren konnte. Bis ich die Umlaute umgewandelt hatte, ist einige Zeit vergangen… einfacher ist es einfach einen Editor wie rapidphp zu verwenden.

  12. Ich ärger mich auch oft genug bei Versionsumstellunmgen von php und MySql – hier sind ein paar ganz gute Tipss dabei die ich dann mal ausprobieren werden.

  13. Wie ich im anderen Post schon sagte, kannst du über Kommandozeile (SSH) binnen Sekunden die Zeichenkodierung ändern. Ohne Tools, ohne Schmerzen. Bei Fragen: Skype!

  14. Ich habe mein Problem mit einem Programm des MySQLDumper Entwicklers lösen können: DSB’s Umlaut Korrektur (DUK). Daniel hat auch einen lesenswerten Artikel zu dem Thema verfasst: MySQL-Codierungsproblem beheben: Nie wieder Umlaut-Chaos.

Kommentare sind geschlossen.