Tabellen von WordPress auf UTF8 umstellen

Ilona wünschte sich von mir ein Ostergeschenk. Eine Erklärung wie man die Tabellen von WordPress auf UTF8 umstellen kann.

Grund für so eine Umstellung ist oft, weil man sonst die konfusesten Zeichen in seinem Blog wieder findet, wenn die Datenbank UTF8 ist, WordPress selbst unter UTF8 läuft, die Tabellen aber noch CHARSET=latin1.

Nun ich nutzte dafür einen Editor, der suchen und ersetzen kann.

Datenbankbackup machen

Zuerst holte ich mir ein Datenbankbackup. MySqlDumper ist da sehr hilfreich, weil es unkompliziert ist große Datenbanken in kleine Dateien zu zerlegen.

Editor der suchen und ersetzen kann

Dann öffnete ich so eine „Portion Datenbank“ und ließ meinen Editor nach:

CHARSET=latin1

suchen und gab gleich den Befehl er möge dies mit

CHARSET=utf8

ersetzen. Speichern.

Datenbank importieren

So tat ich mit allen „Portionen“. Danach importierte ich die Datenbank mit Hilfe des oben erwähnten Tools.

Das wars Ilona.
35

35 Beiträge zu “Tabellen von WordPress auf UTF8 umstellen

  1. Kommentar Autor
    Ilona
    Kommentar

    Ohhhh… So leicht geht das? Und ich hatte nach ner Anleitung, nach der irgendwas auf blob gesetzt werden musste und dann … weiß der Geier, warum, jedenfalls hat es nie funktioniert. Dann habe ich Tabelle für Tabelle bearbeitet, was auch nicht vollständig war, weil in den einzelnen Tabellenspalten immer noch was Latin-artiges hängenblieb.

    Dann habe ich ja bei dem angekündigten Ostersauwetter was zu basteln.

    Jedenfalls tausend Dank für dieses schöne Osterei und Dir ein wunderschönes Osterfest!!

    Liebe Grüße
    Ilona

  2. Kommentar Autor
    Uwe
    Kommentar

    Hmm, ist diese Vorgehensweise identisch mit der Option in phpmyadmin? Da gibt es unter „Operationen“ ja auch den Punkt Kollation, wo man dann utf8_unicode_ci auswählen kann?
    (Ich glaub ich muss meinen Hoster mal nerven, ich dümpel wohl auch seit Anbeginn der Zeit mit Latin1 in der DB und UTF-8 an allen anderen Ecken rum :D)

  3. Kommentar Autor
    Monika
    Kommentar

    Hi das eine ist die Datenbank prinzipiell auf UTF-8 stellen, das andere- das was ich hier beschrieb-sind die Tabellen von WP

    lg

  4. Kommentar Autor
    Uwe
    Kommentar

    Ah okay, meine Datenbank an sich scheint schon auf UTF-8 zu laufen
    Dann versuch ich doch auch mal den Dumper und deine Vorgehensweise
    Damit dürften dann auch die falsch dargestellten Sonderzeichen im phpmyadmin verschwinden oder?
    Vielen lieben Dank! :)

  5. Kommentar Autor
    Monika
    Kommentar

    Damit dürften dann auch die falsch dargestellten Sonderzeichen im phpmyadmin verschwinden oder?

    ich hoffe es ;)

    bei mir war es so

    lg

  6. Kommentar Autor
    Uwe
    Kommentar

    Das hab ich auch gehofft, leider war dem nicht so :(
    Die Sonderzeichen sind noch der gleiche Wirrwarr wie vorher, angezeigt wird zwar alles richtig, nur Google und phpMyadmin sind anderer Ansicht
    Obendrein.. es gibt ja diese neuen Funktionen seit WP 2.5, wenn ich
    define(‚DB_CHARSET‘, ‚utf8‘);
    define(‚DB_COLLATE‘, “);
    einfüge, dann werden die sogar in den Beiträgen und in der Sidebar falsch angezeigt
    Hmm.. ich bin überfragt :(

  7. Kommentar Autor
    Monika
    Kommentar

    hmm Google kann ja Deine Änderungen noch gar nicht haben, so schnell ist Google ja nicht mal hier,

    wo sind die denn falsch ?

    lg

  8. Kommentar Autor
    Uwe
    Kommentar

    Blödes Google :)
    Also irgendwie.. blicke ich selber nicht so ganz wann es auftaucht
    Manchmal „im Content“, überwiegend aber nur im Titel – bei den neueren Beiträgen seit 2.5 wohl jetzt immer und auch ältere Einträge scheinen betroffen
    und die posts-Tabelle in phpmyadmin ist komplett „verhunzt“

    Fragt sich nur warum?
    ist angegeben
    in den WP-Einstellungen steht UTF-8,
    Der MySQL-Zeichensatz: UTF-8 Unicode (utf8) dürfte auch ok sein, Zeichensatz / Kollation der MySQL-Verbindun ist auch auf utf8_general_ci und alle Tabellen der Datenbank stehen auch auf utf8_unicode_ci

    .. da fehlt doch nix?! Und ich würde mal frech behaupten, dass das Problem vor 2.5 nicht präsent war aber man weiß ja, dass Probleme nie einfach so auftauchen ;)

  9. Kommentar Autor
    Monika
    Kommentar

    du hast oberhalb der Kommentare einen Text stehen, dazu sandte ich Dir soeben bei Dir am Blog einen Kommentar der nach dem Absenden eine weiße Seite mir zeigte…

    ich mag WP 2.5 ich mag WP 2.5 wird mein täglich Mantra ….

    lg

  10. Kommentar Autor
    Uwe
    Kommentar

    :-O
    Die Kommentarfunktion funktionierte aber noch, das muss ein unglücklicher Zufall oder schlechtes Karma (nein, kein Spam-Karma) sein
    Hm.. ich würde diese Probleme ja zu gerne auf 2.5 oder Google abwälzen

  11. Kommentar Autor
    Monika
    Kommentar

    Uwe guten Morgen, ich vermut alles wird nicht sicht *abwälzen* lassen ;)

    Kaffee rüberreich ….

  12. Kommentar Autor
    Uwe
    Kommentar

    Einen schönen guten Mittag Monika,
    in der Tat, das vielleicht nicht
    Aber ich glaube.. solange das für den Browser beim Direktauruf richtig angezeigt wird kann man diese paar Sonderzeichen im Titel auf einer Googleseite oder in der DB vernachlässigen.. anscheinend werden die eh „falsch“ oder verquert in die DB geschrieben..
    Danke, lieber Tee statt Kaffee :)

  13. Kommentar Autor
    Monika
    Kommentar

    oh Uwe…

    Danke, lieber Tee statt Kaffee

    ich bin mir sehr sicher, daran liegts!

    zum Anderen-ja solange es nicht wirklich stört.

    montäglich ernst

    lg

  14. Kommentar Autor
    Uwe
    Kommentar

    He? Sind Teetrinker schlechtere Menschen oder nach Studien häufiger anfällig für technische Probleme mit WordPress? ;)

    Naja, gerade hat Google einen Beitrag von heute gefunden, im Inhalt selbst kommen üs vor und die sind korrekt
    Verstehe wer will, ich will erstmal nicht mehr, solang sich nicht mal Probleme an grundlegende Logik und Muster halten :D

  15. Kommentar Autor
    Monika
    Kommentar

    Hi Uwe
    nein Teetrinker sind niemals schlechtere Menschen, bloß haben sie laut einschlägiger Studien der unabhängigen CF4you (coffeforyou) Gesellschaft eindeutig immer schlechtere Karten :-)

    solange die ÜÖÄßkorrekt sind hat Logik Pause zumindest Montags ;)

    lg

  16. Kommentar Autor
    Uwe
    Kommentar

    Hmm Monika, die Auswertungen und Ergebnisse dieser Studien musst du mir unbedingt zukommen lassen
    Nur frage ich mich, ob diese Gesellschaft wirklich so unabhängig ist? Zumindest bei Kaffee könnte das sehr strittig werden :)

    Ja, es ist irgendwie kein System drin, wahrscheinlich verschwindet es zu dem Tag, wo der Vollmond auf eine prominente Steinformation scheint

  17. Kommentar Autor
    Monika
    Kommentar

    och Uwe die Studie ist genauso unabhängig wie De und At nach dem Beitritt zur EU.

    Ich vermute, wenn der Vollmond auf eine prominente Steinformation scheint und Österreich Deutschland bei der Europameisterschaft schlägt.

    :-)

  18. Kommentar Autor
    Uwe
    Kommentar

    Da hilft wohl nur eins: Abwarten und Tee trinken? :D

  19. Kommentar Autor
    Uwe
    Kommentar

    Monika, Tee löst aber anscheinend Probleme! :D
    Ich habe deinem Hinweis oben entnommen, dass du was zu dem Text über dem Kommentarfeld sagen wolltest (hab ich doch richtig verstanden, oder?)
    und da spuckte der Validator tatsächlich rum, dass da ein oder mehr Zeichen nicht richtig kodiert wären
    Und was war es? Ein ä stand als ä und nicht als Entity da
    Das habe ich gerade mal geändert, jetzt spuckt der Validator nur noch über blöde andere Verschachtelungsfehler aber.. ich würde behaupten, dass Tante G gerade wieder sowohl öäü vom Titel als auch anderswo darstellt!

    Vielen Dank für diesen Fingerzeig! :)

  20. Ping Upgrade erfolgreich, Umlaute tot » Peruns Weblog

  21. Ping links for 2008-08-28 « /home/servrrockr

  22. Kommentar Autor
    Ilona
    Kommentar

    Tja, nachdem ich das Problem den ganzen Sommer über verschoben habe, kann ich jetzt mal wieder sagen: Ich kriegs nicht hin. Menno!

  23. Kommentar Autor
    Ilona
    Kommentar

    Klar, ich hätte mich ja mal deutlicher ausdrücken können. Also erstmal kam nach der Suchen und Ersetzen Aktion beim Reimport immer ne Fehlermeldung, dass er die Kollation latin1_german2_ci nicht mit utf-8 vertragen. (Oder so ähnlich)
    Hab ich also mit Suchen und Ersetzen diese Sachen in utf8_unicode_ci umgewandelt, dann war die Fehlermeldung wech und ich konnte die Datenbank importieren. Aber die grusslichen Sonderzeichen statt ä, ü oder ß waren nach wie vor zu sehen.

    Aaaaber, wie ich dann festgestellt habe, nur in den alten bestehenden Beiträgen, wenn ich einen neuen Eintrag verfasst habe, sah alles i. O. aus.

    Ich habe das nun so gelöst, dass ich mit dem Searchandreplace-Plugin die Sonderzeichen aus den alten Einträgen rausgeext habe. Nu isses gut und ich hab mein erstes Blog auf 2.7 hochgezogen.

    Wenn nu dieses Multimedia-Gekruschtel in 2.7 so funktionieren würde, dass man damit vernünftige Galerien u. ä. machen kann, würde ich die anderen Blogs auch… aber…. Na ja, ich arbeite dran.

    Wasn Roman hier… Hätt ich auch nen eigenen Artikel schreiben können. Mach ich vielleicht auch noch.

    Aber ne Idee haste nicht zufällig, woran das liegen könnte mit den Sonderzeichen?

  24. Kommentar Autor
    Monika
    Kommentar

    eventuell doch…

    die neue wp-config.php zwingt zu UTF8 und als ich das zb hier auskommentierte, ward alles gut,

    manche Datenbanken lassen sich nicht zu was zwingen was schon da ist,

    es kann ja sein, dass html mäßig, das eine in entities das andere in ascii Zeichen abgespeichert war, – die einen, die neuen wurden korrekt übersetzt, die anderen die alten nicht,
    ob aber jetzt die neuen als ascii oder die alten- da bin ich kurz auch überfragt.

    lg

  25. Ping Codierungsproblem | KRiZZi’S BLoG

  26. Kommentar Autor
    KRiZZi
    Kommentar

    Wollte mich nur noch mal fix für die Anleitung & Unterstützung bei meiner persönlichen, kleinen UTF-8 Umstellung bedanken. =)

    Lieben Gruss von der Küste
    Sascha

  27. Kommentar Autor
    nepf
    Kommentar

    Liebe Monika, hab dazu noch ne Nachfrage:
    In meinem Dump wimmelts aber auch noch von sowas:

    „collate latin1_general_ci“

    muss ich das auch irgendwie ersetzen?

  28. Kommentar Autor
    Roland
    Kommentar

    Hi Texto,

    das alles hat bei mir überhaupt nicht funktioniert. Die Datenbanken waren alle schon auf utf-8 geschaltet. Trotzdem hatte mein Blog mit dem neuesten Update auf 2.7.1 plötzlich die komischen Zeichen.
    Stattdessen habe ich nun in der wp-config.php „latin1“ eingetragen, statt „utf-8“ und jetzt sind die Umlaute wieder korrekt dargestellt.
    Warum das alles so ist, weiss ich nicht. Und ob eine gesamte Umstellung auf utf-8 besser wäre, weiss ich auch nicht. Aber wenn, dann würde ich gerne genauer wissen, wo man das überall umstellen muss, damit es richtig funzt…

  29. Kommentar Autor
    Monika
    Kommentar

    Hi Roland
    im Blog
    die Datenbank
    die Tabellen der Datenbanl
    wp-config.php
    kann es dann sein, dass man dies mit 2 Schrägstrichen vorne auskommentieren muss
    also so

    //define(’DB_COLLATE’, ”);
    
  30. Kommentar Autor
    Thilo
    Kommentar

    Ich hatte vor einigen Monaten mal das Problem mit UTF-8 und latin1. Damals habe ich zig Stunden damit verbracht WordPress andere Charsets aufzuzwingen, und nun stoß ich auf deinen Beitrag…so einfach hätte es also sein können :D
    Ich hab den beitrag mal gebookmarked, vielleicht stoße ich ja nochmals auf das Problem. Danke für die einfache Anleitung ;)

  31. Ping [WordPress] Immer wieder Probleme mit den Umlauten » WordPress, Update, Umlaute, Problem, wpSEO, UTF-8 » Nils Schulte am Hülse

  32. Ping WordPress von latin1 auf utf8 umstellen — Software Guide

  33. Ping Neues mySQL, neue Arbeit! :: frank huncks blog :: selent

  34. Kommentar Autor
    Eric
    Kommentar

    Wieso sollte man überhaupt auf UTF8 umstellen wollen? Macht doch fast nur Sinn, wenn man Besucher aus fernost erwartet oder?

    In der Regel reicht doch für deutsche Besucher auch latin1 aus.

    Das einzige wo nervt ist wenn man noch Javascript und AJAX im Einsatz hat, weil da ja standardmäßig alles UTF8 kodiert ist, was man aber auch recht gut mit utf8_decode() in den Griff bekommt.