Feeds: Artikel und Kommentare 20. November 2008

Allgemeines mk am 04. März 2007 11:49 pm

Wordpress und falscher Charset im Datum

Die Monatsnamen im von mir benutzten Theme einzudeutschen war auf diesem Server schon mit etwas Arbeit verbunden, hat aber letztlich geklappt. Doch als der März ins Land zog, prangte oben links in der Datumsanzeige anstatt des schönen “ä” wieder ein falsch encodiertes Zeichen.
Das Problem lag in der function strftime(), die nicht von Haus aus das Datum in UTF-8 ausgibt.

Man kann das Ganze mit utf8_encode() lösen. Noch simpler ist aber, in der index.php die Zeile

setlocale(LC_TIME, ‘de_DE’);

in

setlocale(LC_TIME, ‘de_DE.UTF-8′);

zu ändern.

:-)

Edit:In meiner aktuellen Version fehlt die Zeile ganz. Also einfach vor “require(’./wp-blog-header.php’);” einfügen.

3 Kommentare zu “Wordpress und falscher Charset im Datum”

  1. am 23. Juni 2008 um 21:22 1. codestyling hat geschrieben:

    Ich bin zufällig hier gelandet und wollte dazu eine Anmerkung hinterlassen: Wenn man bei Massenhostern (Shared Server mit 500 Kundendomains) die locale umschaltet, dann gilt diese Umschaltung für den gesamten Apache Prozess. Wenn PHP auch noch als Module ausgeführt wird, schaltest du somit für alle 500 Kunden auf deutsch!
    Das sollte man nur machen, wenn PHP als CGI läuft, weil es dann nur den CGI Prozess betrifft und nicht hunderte “unschuldige”, die vielleicht Englisch, Russisch oder Schwedisch haben wollen.
    PS: Und zum gettext Problem hab ich auch einen frischen Artikel geschrieben, der Fehler war noch nicht ausgestanden aber ich hab ein Fix an WP Trac gegeben.

  2. am 26. Juni 2008 um 22:59 2. mk hat geschrieben:

    Hi, danke für Deinen Kommentar. Ich hab jetzt mal ein paar Stunden gesucht und nichts dazu gefunden. So häufig scheint dieses spezielle Szenario demnach wohl nicht zu sein - korrigier mich bitte wenn ich falsch liege; das wäre ja schon ein sehr grobes Problem in PHP, deshalb wundert es mich dass es da nicht schon längst tonnenweise Material dazu gibt.
    Allerdings. Es gibt ja durchaus Hoster, die die Änderung der locale komplett unterbinden, wenn man nicht z.B. einen VServer hat.

  3. am 27. Juni 2008 um 11:42 3. Sebastian hat geschrieben:

    Hi,

    da bräuchte man ja Zugriff auf die php.ini. Die hat man ja ohne Root-Rechte eh nie…

    Grüße
    Sebastian

Trackback | RSS-Feed abonnieren

Antwort schreiben