Christian Kruse: Wer bastelt da? Doppelte Codierung des Rückmeldung beim Post

Beitrag lesen

Hallo Andreas,

also, nochmal zum Mitschreiben (ich vermute das da oben ist Perl?):

Jap, ist es.

Du kuckst, ob der String ein Zeichen zwischen 127 und 159 enthält
und wenn ja, tippst Du auf Windows-1252 und convertierst den
ganzen string (length($val)) von Windows-1252 nach UTF-8?

So ganz einfach ist es nicht. Ich kann davon ausgehen, dass der
Input entweder ISO-8859-1 oder UTF-8 ist. Immer noch eine
Wahlmoeglichkeit zu viel. Also habe ich mir dafuer etwas einfallen
lassen: ich gebe in einem Feld ÿ mit — bei UTF-8 wird das dann
als \303\277 geschickt, bei anderen Charsets mit etwas anderem.
Daran kann ich also erkennen, ob UTF-8 oder ExternCharset (aus
einer Konfigurations-Datei) geschickt wurde. Gut, dann muss man
ueber den Bug der Geckos bescheid wissen: sie schicken € als \x80,
wenn der Seiten-Charset ISO-8859-1 ist. In Latin1 ist aber der
Bereich zwischen \x7F und \x9F nicht definiert, also kann es sich
(weil wir ja bescheid wissen) nur um Windows-1252 handeln.

und für die Convertierung - hast Du da eigene Tabellen gestrickt?

Nein, ich benutze ein Perl-Interface zu libcfcharconvert (eine
Bibliothek, die ich fuer das Forum geschrieben habe). Die wiederum
benutzt und abstrahiert libiconv.

Grüße,
 CK

--
Unsere Vorstellungen von der Ewigkeit sind genauso nuetlich wie die Mutmassungen eines Kuehkens ueber die Aussenwelt bevor es die Eierschale aufbricht.
http://wwwtech.de/