I'm experiencing a strange problem. When deploying my Tapestry 4 application directly in Tomcat 5.5.20, it runs perfectly, and my localized messages (rendered using ) are output as UTF-8 strings, and the HTTP response headers and HTML headers says that the content type is "text/html;charset=UTF-8". So far, so good.
BUT, when I fire up my JBoss 4.0.5GA which has an embedded Tomcat 5.5.20 and I deploy my Tapestry application, the localized messages suddenly render as iso-8859-1 but the HTTP response headers and HTML headers still tell the same content type, namely UTF-8. This means that all non-ascii characters show up as ? in my browser because my iso-8859-1 output is parsed as UTF-8 by the browser.
Do anyone have any past experiences on what causes my problem? Do anyone have a solution?
The problem seemed to be related to the file.encoding JVM system property having an unexpected value. This was related to the fact that the proper locale support wasn't present in the Linux system.