kaffeeringe.de

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

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

… macht UTF-8 end­li­ch zum Standard. Wenn al­le da­mit ar­bei­ten, gibt es kei­ne Probleme mehr.

Das ist doch auch end­li­ch mal et­was, wo wir den an­glo­ame­ri­ka­ni­schen Raum über­zeu­gen kön­nen, bzw. die end­li­ch auch mal was von uns über­neh­men (… wo wir doch son­st im­mer de­ren Standards auf­ge­pfropft be­kom­men 😉 ).

Steffen

In Zikula 2.0 soll es ja Standard wer­den – das wird no­ch ein Spaß mit den gan­zen Modulen. Ich ver­mu­te, dass wir da mehr Trouble krie­gen wer­den als mit dem Übergang von Postnuke zu Zikula – al­ler­dings wer­den si­ch die Probleme leich­ter be­he­ben las­sen…

Schreibe einen Kommentar

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

Möchtest Du benachrichtigt werden, wenn Dir hier jemand antwortet?