[ 
https://issues.apache.org/jira/browse/TAP5-1778?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13164768#comment-13164768
 ] 

Josh Canfield commented on TAP5-1778:
-------------------------------------

> Perhaps a better, more generic solution is just to document that JVM's 
> default encoding should be set to -Dfile.encoding=UTF-8.

I strongly disagree. Tapestry TML files are XML and the default charset for XML 
files is UTF-8.

I haven't looked at the code, but from the snippet it sounds like Tapestry does 
not respect the XML declaration for changing charset?
<?xml version="1.0" encoding="iso-8859-1" ?>

                
> Template parsing dependent on JVM default charset
> -------------------------------------------------
>
>                 Key: TAP5-1778
>                 URL: https://issues.apache.org/jira/browse/TAP5-1778
>             Project: Tapestry 5
>          Issue Type: Bug
>          Components: tapestry-core
>    Affects Versions: 5.3
>            Reporter: Robert Coie
>            Priority: Minor
>
> This is my first experience with JIRA, so apologies if it is not formatted 
> properly. I raised this topic on the tapestry-users mailing list and was 
> asked by a couple of people there to create an issue here.
> internal.services.XMLTokenStream's openStream method contains the following 
> lines:
> InputStreamReader rawReader = new InputStreamReader(rawStream);
> ...
> PrintWriter writer = new PrintWriter(bos);
> Both of these implicitly rely on the default JVM charset. This poses a 
> significant problem for non-ASCII text in templates on Google App Engine, 
> where the default is "US-ASCII". In the interests of robustness, I think it 
> would be nice if Tapestry was able to eliminate any reliance on default 
> charsets. I am not confident enough in my understanding of Tapestry internals 
> to know how to appropriately retrieve symbol properties (such as 
> "tapestry.charset") via the IoC system in internal service implementations, 
> but I have verified that explicitly specifying "UTF-8" as follows resolved my 
> problem:
> InputStreamReader rawReader = new InputStreamReader(rawStream, "UTF-8");
> ...
> PrintWriter writer = new PrintWriter( new OutputStreamWriter(bos, "UTF-8") );

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to