Hi, my goal: no UTF8, in short:
- all the perl code, all the data files, all the template files and the UNIX locale are all in ISO-8859-1 - the HTML result should be in ISO-8859-1 (Content-Type: text/html; charset=iso-8859-1) - the Content-Length: should be correct. First, I modified lib/MyApp/View/TT.pm as follows: __PACKAGE__->config(TEMPLATE_EXTENSION => '.tt', DEFAULT_ENCODING => 'ISO-8859-1', WRAPPER => 'wrapper.tt'); Apparently all diacritic characters are expanded into HTML entities. Which is functional, but not optimal. However, with FormFu, this unnecessary expansion doesn't happen, which is fine. I got the following result: - the HTML data is in ISO-8859-1 (or as HTML entities, which is acceptable as a work-around) as wanted - however the HTTP header charset is UTF8 After looking at line 45 of /usr/local/share/perl/5.8.8/Catalyst/Action/RenderView.pm it looks that the utf-8 charset HTTP header is hardcoded. I have thus modified my lib/MyApp/Controller/Root.pm to do the following in end : ActionClass('RenderView'): $c->response->content_type('text/html; charset=iso-8859-1'); With this, I got the following result: - the HTML data is in ISO-8859-1 as wanted (no change, logical) - the HTTP header charset is now the correct iso-8859-1 - however, the Content-Length: sent is wrong. After investigating, the Content-Length: is one off per non 7-bit character. As if the standard iso-8859-1 byte stream was sent as is, but was, internally converted to UTF-8 just for generating a wrong byte count. Very strange. Normally that process should really output something wrong or generate an error in the conversion. It doesn't. My questions: - is there a better way to use the standard charset than to do all of the above hacks ? - if not, how to work-around the content length in end : ActionClass('RenderView') ? Unfortunately, it looks like $c->result->body is undefined at this point, and that $c->finalize_body() doesn't do anything useful. Version info: Catalyst 5.80007 and 5.80013 PS: I wouldn't have noticed the Content-Length: issue if I hadn't use a reverse proxy. With that reverse proxy, and the standalone Catalyst server, you get 5-10 seconds hangs if the Content-Length is too big, which is what happens with this strange UTF8 behaviour. Without it, the size is wrong (as seen by wireshark != PageInfo Firefox), but the WWW client seems to compensate. PS/2: the http://www.catb.org/~esr/faqs/smart-questions.html URL doesn't work currently, so maybe my question is unsmart. _______________________________________________ List: Catalyst@lists.scsys.co.uk Listinfo: http://lists.scsys.co.uk/cgi-bin/mailman/listinfo/catalyst Searchable archive: http://www.mail-archive.com/catalyst@lists.scsys.co.uk/ Dev site: http://dev.catalyst.perl.org/