Greetings all and apologies for unfamiliarity with issue reporting
conventions here. I am attempting to deploy a Tapestry 5.3 application
to Google App Engine and have run into some problems with character
encoding. These are masked when running locally, as the default
character set is UTF-8. However, when the application is deployed to the
live runtime environment, the default character encoding is US-ASCII.
This causes characters outside of that range (for example, Japanese text
in .tml files) to be rendered as '???????'.

I traced the template file parsing to
org.apache.tapestry5.internal.services.XMLTokenStream's openStream
method. This contains:

InputStreamReader rawReader = new InputStreamReader(rawStream);
...and...
PrintWriter writer = new PrintWriter(bos);

Both of these implicitly utilize the default charset. I'm not sure what
the proper method would be to get at IoC symbols like the
'tapestry.charset' property within an internal class like
XMLTokenStream, so I just tried a hardcoding hack to see if I had
properly isolated the problem:

InputStreamReader rawReader = new InputStreamReader(rawStream, "UTF-8");
...
PrintWriter writer = new PrintWriter( new OutputStreamWriter(bos,
"UTF-8") );

This worked. What is the next step in trying to get this addressed in
the main code base?

-- 
Robert Coie
Implementor, Apropos K.K.

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org
For additional commands, e-mail: users-h...@tapestry.apache.org

Reply via email to