hotti: UTF-8 dekodieren (?)

Beitrag lesen

hi,

Der letzte Ansatz scheint mir eigentlich logisch, die Frage wäre aber: Welches Format haben eigentlich Daten zunächst, die in ein per CGI so
$cgi->header(-charset => 'UTF-8'),
$cgi->start_html(-encoding => 'UTF-8'),
$cgi->start_form(-method => 'post',
generiertes Formular eingegeben werden?

Das Form wird mit einem HTTP-Header "Content-type: text/html; charset=UTF-8" ausgeliefert. Sofern der Benutzer vor dem Submit die Kodierung nicht ändert:

Du bekommst UTF-8-Oktetten (bytesemantic, raw).

Mit

  
use CGI qw(-utf8);  

Du bekommst UTF-8-kodierte Zeichenketten (charactersemantic).

Wenn Du UTF-8-Zeichen wieder ausgeben willst, auf STDOUT oder FileHandler, dürfen das keine UTF-8-kodierte Zeichenketten sein, sondern müssen UTF-8-Oktetten sein.

Perl unterscheidet das seit v5.6 (anno domini 2001).

Hotti