phpbar.de logo

Mailinglisten-Archive

[php] Zeichenkodierung von Formulardaten

[php] Zeichenkodierung von Formulardaten

Florian Grell grell at werk4.net
Die Aug 25 19:52:11 CEST 2009


Yannik Hampe wrote:
> Florian Grell wrote:
>> Das Problem:
>> Ich habe eine Seite, die in UTF-8 kodiert ist.
>> An einer Stelle gibt es ein Formular mit hidden-Feldern, welches an
>> einen fremden Server postet. Die Daten dieses Formulars müssen nun
>> in ISO-8859-1 kodiert sein.
>>
>> Wie kann ich dies bewerkstelligen, ohne daß ich die Seite, auf der
>> das Formular sitzt ebenfalls als ISO-8859-1 ausgeben lasse?
>>
>> Was ich bereits versucht habe:
>> - Daten ganz normal als UTF-8 in die Felder schreiben. Ergebnis: ü
>> wird als Ä1/4 auf der Empfängerseite dargestellt.
>
> Auf der Empfängerseite? Wo auf der Empfängerseite? Wenn du die
> Formulardaten übergibst (mit utf8_decode) sollten sie beim Empfänger
> korrekt ankommen. Wenn du mit deinem utf8-Skript diese Daten wieder
> iso-8859-1 kodiert abrufst und wiede ausgibst, dann musst du die
> Daten an dem Punkt natürlich wieder utf8_encode'den.

Nee, die Aufgabe lautet: übergebe UTF-8-Daten von einem UTF-8-Skript als
ISO-8859-1 an ein ISO-8859-1-Skript.
Wenn ich die Daten im UTF-Skript mit utf8_decode behandle kommt ebenfalls
nur Garbage beim Empfänger an.

Mittlerweile hab ich das ganze über einen iFrame gelöst, in dem nur das
Formular in ISO-8859-1 steht. Die Daten werden dort dann mit utf8_decode
gewandelt und jetzt - endlich - auch korrekt verschickt.

>
>> Nebenfrage: kennt jemand eine Funktion um Sonderzeichen in
>> Hex-Kodierung auszugeben (Ä)?
>
> In den Benutzerkommentaren auf php.net unter htmlentities steht da
> sowas. Aber warum zur Hölle würdest du das tun wollen? ;-).

Verzweiflung?!

Florian


php::bar PHP Wiki   -   Listenarchive