Sehr lange habe ich nach einer Lösung gesucht – nun hat es endlich funktioniert: Im Andersreisen-Blog können nun auch kyrillische Zeichen und auch verschiedene andere Sonderzeichen angezeigt werden. Für einen Reiseblog ist das sehr wichtig. Im Rumänischen und vielen anderen Sprachen bestimmen Akzentzeichen auf den Buchstaben über die richtige Aussprache der einzelnen Wörter, in Russland, Bulgarien, der Mongolei und vielen anderen ehemaligen Ostblockstaaten wird die kyrillische Schrift verwendet.
Inhalt:
Das Problem in WordPress
Wollte ich bisher in meinem WP-Blog ein kyrillisches Wort oder ein Lateinisches Sonderzeichen schreiben, so wurde es beim Speichern des Posts automatisch in ein Fragezeichen umgewandelt. Aus meinem Namen in kyrillischer Schrift Герхард wurde ???????, aus dem rumänischen Dorf Copşa Mică machte WordPress Cop?a Mic?. Darum musste ich bisher bei vielen Berichten mit Sonderzeichen auf die korrekte Schreibweise verzichten, auch wenn “Copsa Mica” in dieser Schreibweise gänzlich anders ausgesprochen wird. Auch auf andere Schriften wurde verzichtet oder – wenn es gar nicht anders ging – habe ich sie als Bilddatei eingefügt.
Interessanter weise tritt dieses Problem nicht in allen WordPress-Installationen auf. Erst vermutete ich, dass die Probleme von meinem installierten WordPress-Theme abhängig seien oder von einem inkompatiblen Plugin. Nichts dergleichen war der Fall.
Ein Blick in die WordPress Datenbank
Durch Zufall entdeckte ich, dass bei verschiedenen WordPress-Installationen auf meinem Server auch unterschiede bei der Verwendung der Schriften bestehen. So wird bei den Problem-Blogs bei Kollation latin1_swedish_ci bei den einzelnen Tabellen angezeigt. Jene WordPress-Blogs, die kyrillische Schriftzeichen richtig anzeigen, weisen bei Kollation utf 8_general_ci auf. Was liegt also näher, als bei den Problemblogs ebenfalls utf 8_general_ci zu verwenden?
Umstellung klappt nicht auf Anhieb
Bevor Du Dich ans Werk machst gleich mal vorneweg: Ich bin kein IT-Profi. Die Änderungen erfolgen auf eigene Gefahr. Es kann passieren, dass durch die Umstellung vielleicht andere Probleme in Deinem Blog auftauchen. Bisher konnte ich keine Probleme feststellen. Eine Datensicherung wird außerdem – wie vor jeder Änderung – empfohlen. So… bereit? Dann darfst Du hier weiter lesen.
Ich nutzte für die Umstellung die Online-Anwendung phpMyAdmin, die von meinem Provider World4You kostenlos zur Verfügung gestellt wird. Auch wenn unter dem Menüpunkt Operationen eine generelle Umstellung der Zeichen auf utf 8_general_ci möglich ist, wirkte sich die Änderung nicht auf die einzelnen Tabellen aus. Auch die Änderung der ganzen Tabelle auf uft 8_general_ci führte nicht zum Erfolg. Ich habe hier trotzdem alles auf utf8_general_ci umgestellt.
Die Problemlösung: Die Kollation muss bei jedem Feld umgestellt werden, damit Sonderzeichen und andere Sprachen im Blog angezeigt werden können.
Posts für die kyrillische Schrift vorbereiten
Bei phpMyAdmin gehst Du für die Umstellung der einzelnen Felder wie folgt vor:
1. Hauptansicht wählen, in der alle Tabellen der Datenbank angezeigt werden
2. Neben dem Tabelleineintrag wp_posts in der Spalte Aktion auf das Symbol Struktur klicken
3. Alle Felder, in denen unter Kollation latin1_swedish_ci oder ein ähnlicher Eintrag steht, markieren.
4. Unmittelbar unter der Tabelle auf das Symbol “ändern” klicken (2. Symbol von links)
5. Nun kann für jeden Feldeintrag bei Kollation auf utf 8_general_ci umgestellt werden.
6. Speichern nicht vergessen.
Nun sollten beim Eintrag in den Posts sowohl kyrillische als auch verschiedene lateinische Sonderzeichen richtig angezeigt werden.
Problem bei Kommentaren beheben
Die oben genannte Vorgehensweise hat nur auf die Posts eine Auswirkung. Wenn Du auch im Kommentarbereich Deines WordPress-Blogs kyrillische Zeichen und lateinische Sonderzeichen richtig anzeigen möchtest, muss dies in der Tabelle wp_comments gemacht werden. Die Verfahrensweise ist die selbe, wie oben erklärt. Du kannst auch die anderen Tabellen wp_links, wp_options, wp_postmeta, wp_terms, wp_term_relationship, wp_term_taxonomy, wp_usermeta und wp_users durchforsten. Ich habe mich vorerst allerdings nur auf die wp_posts beschränkt, da vor allem hier für mich die richtige Anzeige fremder Schriften wichtig ist. Bei den Kommentaren erhalte ich viele Einträge, in denen es von ??? nur so wimmelt. Aber ich bin mir sicher: Das sind allesamt Spam-Einträge.
Welche Schriften können nun angezeigt werden?
Vorrangig war mir natürlich wichtig, dass ich Schriften und Sonderzeichen in meinem Blog aus Sprachen anzeigen kann, mit denen ich – zumindest grundlegend – etwas anfangen kann. Die WP-Problemlösung funktioniert für Rumänisch und Tschechisch einwandfrei. Die kyrillische Schrift wird u.a. in Bulgarien, in Teilen von Mazedonien und Serbien, in der Mongolei, Russland und den meisten ehemaligen Staaten der Sowjetunion (GUS) wie Kasachstan, Weißrussland oder der Ukraine verwendet. Je nach Land gibt es zum Grund-Alphabet noch spezielle Zeichen.
Hier ein Test für Japanisch in WordPress:
航海時間の短縮に伴い、輸出入貨物につき
Auch Chinesische Schriftzeichen werden richtig angezeigt:
漢字 / 汉字
Thailändische Schriftzeichen:
รวมเลือดเนื้อชาฅิเชื้อไทย
Auch Griechische Schriftzeichen sind nun auch kein Problem mehr:
Υφολογικά, η τεχνοτροπία του Ελ Γκρέκο θεωρείται έκφραση της
Last but not least: Arabische Schriftzeichen:
ویکیپدیا ، آچیق انسایکلوپدیا
Fazit
Nach viel Recherche und vielen Versuchen, das Problem mit den Fragenzeichen an Stelle der fremden Schriftzeichen in den Griff zu bekommen, freue ich mich, dass ich hier endlich eine Lösung gefunden habe. Viele Lösungsansätze im Internet führten bei mir bisher nicht zum gewünschten Ergebnis. Außerdem fand ich auch in den meisten Foren mehr Fragen als Antworten.
Hoffentlich kann ich mit diesem Beitrag auch dem einen oder anderen Blogger, der das selbe Problem hat, weiterhelfen. Vorschläge für eine besseren Umsetzung können gerne hier gepostet werden. :-)
Benem says
“Blut und Fleisch vermischt sich zum thailändischen Staat”
Aus der Nationalhymne und soll darauf hinweisen das der Staat Thailand sich aus vielen verschiedenen Kulturen zusammensetzt.
Ich bin jetzt gerade dabei zu versuchen das ich meinen Computer in Deutschland dazu bringe das er thai schreiben kann, eine Ahnung wie das funktioniert? In Thailand kann man die Computer immer hin und herschalten zwischen Thai und Englisch. Kann ja eigentlich nicht so schwer sein…
Gruss:
Ben
Ivan says
Das ist immer so eine Sache mit der Datenbank. “UTF” ist in vieler Hinsicht einfacher, wie Du selber auch herausgefunden hast. Als ich am Anfang meiner Blogger Zeit die Datenbank eingerichtet habe, fragte WP bei der Installation, welche Codierung ich möchte. Damit das ganze auch einwandfrei funktioniert, muss in den Blog Einstellungen sowie auch in der wp-config “UTF” eingestellt sein. Sonst gibts Probleme ;)
pferdi says
Tausend Dank für den Beitrag – das hat wirklich geholfen! Mir ging es wie dir: Habe Ewigkeiten rumsuchen müssen, bis ich deinen Beitrag gefunden habe. Sonst gabs tatsächlich mehr Fragen als Antworten – und wer braucht schon noch mehr Fragezeichen? ;) Hat echt geholfen – danke noch mal, toller Beitrag!
Andersreisender says
@Benem: Dankeschön für Deine Aufklärung bei der Thailändischen Schrift. Beim Japanischen geht es um irgendwas zum Thema Fähren, das weiß ich. Keine Ahnung, was bei Chinesisch, Arabisch und Griechisch so steht…
@Ivan: Die Einstellungen in WordPress sind alle auf UTF. Das war interessanterweise auch standardmäßig drin. Nur bei der WP-Installation wurde ich nicht danach gefragt. Das hätte mir sicherlich einige Probleme erspart…
Marcel says
Vielen Dank, der Bericht hat mir sehr geholfen. Falls jemand zusätzlich ACF verwendet muss er dieser Felder auch noch in der “postmeta” umstellen.
DANKE DANKE