Archiv für den Monat: Februar 2013

Joomla: Encoding-Fehler im JCE beheben

Ich hatte bei einer Joomla-Installation das Problem, dass dort bei Benutzung des deutschen Sprachpakets in den Popups, etwa beim Link-Manager, Hieroglyphen anstelle von Umlauten oder eines scharfen S angezeigt wurden. Typische Anzeichen von Encoding-Fehlern. Ein Update auf die neuesten Versionen von JCE und Sprachpaket brachte auch keine Besserung. Komisch, dachte ich, die Webseite wird doch mit UTF-8 ausgeliefert. Nach einer genaueren Untersuchung mit Firebug kam ich der Sache schon näher. Tatsächlich werden die normalen Joomla-Seiten mit UTF-8-Encoding vom Webserver geschickt. Leider wirkt sich das nicht auf JCE aus, denn der wird per iframe-Tag eingebunden. Und JCE gibt ein Encoding nicht explizit an, es hängt also von weiteren Faktoren ab, welche Kodierung letztendlich gewählt wird.

Fehler in der Zeichenkodierung des JCE Link-Managers
Fehler in der Zeichenkodierung des JCE Link-Managers

Auf dem besagten Server war es ISO-8859-1 und nicht UTF-8. Um die Frage nach dem Warum zu beantworten, muss man wissen, dass die Zeichenkodierung auf unterschiedlichen Wegen festgelegt werden kann. Das kann einerseits der Webserver sein, andererseits kann auch das PHP-Skript per header()-Anweisung die Kodierung beeinflussen. Zu guter Letzt kann im HTML-Code ebenfalls ein Hinweis per meta-Tag gegeben werden.

In meinem Fall half ein Blick auf die die Ausgaben von phpinfo. Dort war der Wert default_charset auf ISO-8859-1 gesetzt. Eine Änderung auf utf-8 hat den Fehler behoben.