n.d. parker: Zeichencodierung und Übergabewert

Beitrag lesen

Moin,

Hans Schnullerbacke schnullerbacke@wasweissich.de arbeiten möchte.

Dabei bin ich über folgendes gestolpert. Wenn Schnullerbäckchen nun Schn-ü-llerbacke heißen würde, müsste der recipient so aussehen:
=?iso-8859-1?Q?Hans Schn=FCllerbacke?= <....@....>

guck dir mal MIME::Words an, das sollte dir weiterhelfen.

Frage 1:
ASCII-wert > 127? Mit /[\x80..\xFF]/ bin ich gescheitert.

^^ das muss ein - sein

Wenn Netscape-User statt Western Latin-1 UTF 8 eingestellt haben, senden Sie ein Zeichen, dass ich überhaupt nicht zu greifen bekomme. Ich kann es nicht mit /ü/ oder /\xE4/ herausfiltern, und bei der Darstellung bekomme ich nur ein Fragezeichen.

Frage 2:
Kann man das abfangen?

das Forum hier tut es (und raet dabei ein bisschen).
aber UTF-8 wird richtig erkannt (tatsaechlich arbeitet es intern nur mit UTF-8, CGI-Parameter werden direkt nach dem Eintreffen dahingemappt, sofern es eine 8-bit-Codierung ist).

<input type="hidden" name="qchar" value="&#255;»» ">
                                         ^^^^^^

anhand dieses Zeichens wird erkannt, ob UTF-8 verschickt wurde oder sonstwas. Es ist keine sichere Erkennung (sowas wie Windows-1250 oder ISO-8859-2 etc. wird nicht erkannt - Pech)
(die Idee ist nicht besonders optimal, aber bis heute ist mir nix besseres eingefallen ;/)

evtl. helfen dir folgende Links:

http://www.linux-magazin.de/ausgabe/2000/09/Perl/perl.html (Achtung die spzielle tr-Syntax funktioniert *nur* (!) mit Perl 5.6.0)
http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/selfforum/selfforum-cgi/shared/Encode/Plain.pm?only_with_tag=HEAD ;-)
http://search.cpan.org (Suche nach 'Unicode::')

Viele Gruesse,

n.d.p.