Steffen Voß - Technologie & Gesellschaft

Problemfall Kodierung : iCal und UTF-8 in ISO-Umgebungen

Steffen Voß

Ich habe hier eine Website in ISO-8859-15 und möchte aus ihr Termine per iCal anbieten. Das sollte normalerweise gehen – die reine Angabe des verwendeten Charset machte aber Probleme. Also musst eine andere Lösung her…

UTF–8 sollte eine Menge einfacher machen: Waren im ASCII-System nur die Buchstaben vorgesehen, die der gemeine Amerikaner in seiner Unabhängigkeitserklärung benutzt hat, konnten die ISO-Standards auch Umlaute – aber eben immer nur die einer bestimmten Region der Welt: ISO-8859-15 enthält zum Beispiel die Umlaute für West-Europa inklusive Euro-Zeichen.

Bisher macht es aber nur alles komplizierter: Einige Systeme verlangen schon UTF-8, während andere noch sehr gut in ISO laufen. Schickt man die Daten einfach so, kommen die Umlaute kaputt an. Will man eine richtige Brücke zwischen beiden Welten schlagen, muss man konvertieren.

In meinem Kalender (ISO-8859-15) war einfach im iCal-Template bei allen Angabe dazugeschrieben, dass es sich dabei um ISO handelt:

LOCATION;CHARSET=ISO-8859-15:Neumünster

Das hat aber nicht gereicht – Die Umlaute wurden immer falsch importiert. Auch das setzen des Headers in PHP hat nicht geklappt:

Header("Content-Type: text/calendar; charset=ISO-8859-15");

Also musste die Radikal-Lösung her: Der gesamte Export wird UTF-8. Ich setze also den Header:

Header("Content-Type: text/calendar; charset=UTF-8");

Und lasse das Charset aus dem Template raus. Dafür muss ich die Inhalte in PHP durch iconv schicken. Im Smarty-Template geht das dann so:

LOCATION:{"ISO-8859-15"|iconv:"UTF-8":$data.location}

Nun funktioniert der Export prima… bis der Web-Kalender auf UTF-8 umgestellt wird…

Kommentare

HiloPe
HiloPe:

… macht UTF-8 endlich zum Standard. Wenn alle damit arbeiten, gibt es keine Probleme mehr.

Das ist doch auch endlich mal etwas, wo wir den angloamerikanischen Raum überzeugen können, bzw. die endlich auch mal was von uns übernehmen (… wo wir doch sonst immer deren Standards aufgepfropft bekommen 😉 ).

1.10.2008 um 11:09
Steffen
Steffen:

In Zikula 2.0 soll es ja Standard werden – das wird noch ein Spaß mit den ganzen Modulen. Ich vermute, dass wir da mehr Trouble kriegen werden als mit dem Übergang von Postnuke zu Zikula – allerdings werden sich die Probleme leichter beheben lassen…

2.10.2008 um 09:36

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

Möchtest Du per E-Mail benachrichtigt werden, wenn Dir hier jemand antwortet?