How do I know what encoding was used for form input?by ehdonhon (Curate)
|on Aug 10, 2005 at 19:51 UTC||Need Help??|
ehdonhon has asked for the wisdom of the Perl Monks concerning the following question:
I'm on a quest to try to grok the entire concept of Unicode and encodings. I think I'm starting to get things down, but I've got a question as to how this all works with CGI.pm
I just read this article from Joel on Software:
The Absolute Minimum Every Software Developer Absolutely, Positively Must Know About Unicode and Character Sets (No Excuses!)
One of the key points seems to be that:
"It does not make sense to have a string without knowing what encoding it uses. You can no longer stick your head in the sand and pretend that "plain" text is ASCII. There Ain't No Such Thing As Plain Text. If you have a string, in memory, in a file, or in an email message, you have to know what encoding it is in or you cannot interpret it or display it to users correctly."
So my question is, whenever somebody enters some UTF-8 text into one of my form fields and clicks submit, I know I can call $cgi->param( 'field1' ) and get back the data that was submitted, but how do I find out that the data is encoded in UTF-8? If Joel is correct, then it would seem the data is pretty useless without that information.