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