Subject: | param() returns bytes rather than a perl utf-8 string |
- create a form, either in GET or POST mode, in a page whose charset
is UTF-8, using the CGI::charset('utf-8') function, and "binmode
STDOUT, ':utf8'".
- use Internet Explorer (6.0), or Firefox, to answer the form
- the browser sends form parameters encoded in the charset of the
form, i.e. utf-8. In case of a form in GET mode, one can see utf-8
bytes encoded one by one, e.g. %C3%A9 for é.
- the param() function returns the right string value, but it is not
marked as utf-8.
This is rather unexpected for me, because i have writen the form using
perl utf-8 strings, not raw utf-8 bytes.
I am not sure this would be considered as a bug by everybody, but it
would be nice to have at least a note in the perldoc.