[ 
http://issues.apache.org/struts/browse/SHALE-292?page=comments#action_38283 ] 
            
Gary VanMatre commented on SHALE-292:
-------------------------------------

This is the first try at resolving this issue.  It will be available in the 
shale-framework-20060928  nightly build.  You can find it here: 
http://people.apache.org/builds/shale/nightly/.

To summarize the changes based on your notes the encoding is now determined 
with the following steps:

1) Look at the top of the template for the token comment containing the 
charset. 

 For example: <-- ### clay:page charset="UTF-8" /### -->

2) If not found, look for the app wide config option for template encoding. If 
found use the encoding for reading the template.

For example: 
  <context-param>
    <param-name>org.apache.shale.clay.HTML_TEMPLATE_CHARSET</param-name>
    <param-value>UTF-8</param-value>
  </context-param>

3) If not found use the vm's default "file.encoding".

4) Read the template in with the determined encoding

Tom, I'm going to leave this open until you have a chance to verify.




> Clay doesn't consider file's encoding when loading/parsing html templates 
> from hdd
> ----------------------------------------------------------------------------------
>
>                 Key: SHALE-292
>                 URL: http://issues.apache.org/struts/browse/SHALE-292
>             Project: Shale
>          Issue Type: Bug
>          Components: Clay
>    Affects Versions: 1.0.0, 1.0.1, 1.0.2, 1.0.4-SNAPSHOT, 1.0.3
>         Environment: windows xp, tomcat 5.5 (started with 
> -Dfile.encoding=UTF-8 option, this way myfaces doesn't convert all non-ascii 
> characters to html entities), myfaces 1.1.3
>            Reporter: Tom Pasierb
>         Assigned To: Gary VanMatre
>         Attachments: some.html, whatever.jsp
>
>
> Clay reads html files assuming ascii encoding. This way it's impossible to 
> have characters other than ascii in templates. They do not display correctly. 
> As indicated on the user mailing list a Reader object should be used for 
> reading templates instead of InputStream. I wrote more about this on shale 
> user mailing list.
> We probably need:
> 1. app wide config option for setting encoding clay should use for reading 
> templates in. Clay would default to this setting unless maybe
> 2. some per file encoding config option was set (something similar to @page 
> pageEncoding directive for jsps)
> I marked it as major as this should be corrected if one wants to develop 
> localized applications with non-ascii characters in html templates.
> As noted by Craig this probably also applies to xml templates, which I 
> haven't tried myself.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
http://issues.apache.org/struts/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to