我把ApplicationResources.properties 转码到BaseApplicationResources.properties文件,但是在struts-config.xml中配置的 
<message-resources parameter="ApplicationResources"/> 
而不是<message-resources parameter="BaseApplicationResources"/>,所以出现了问题。
不过我不明白,是不是必须要重新配置到转码后的文件呢?原来的文件不认了?

解决方案 »

  1.   

    还有一个问题:在页面设置<%@page contentType="text/html; charset=utf-8"%>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">原本能够显示的页面上的中文反而不能正常显示了。
    不明白的是utf-8不是java默认字符集吗,怎么统一设置为utf-8就不行,设置为了gbk倒没问题?
      

  2.   

    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">这句去掉naitve2ascii后的.propertise文件名是什么?是否放到发布目录下?
      

  3.   

    资源文件问题按照你上面说的转码
    应该在struts-congig里配置 <message-resources parameter="BaseApplicationResources"/>另外还有配置 
    <controller local="true" contentType="text/html;charset=gb2312"></controller>一般改写过applicationresources文件是要重起服务器的
      

  4.   

    应该是编码方式不一致导致的,
    诸如在页面设置<%@page contentType="text/html; charset=utf-8"%>之类的!
      

  5.   

    应该是先修改ApplicationResources.ascii文件,再用naitve2ascii 编译成ApplicationResources.properties 文件才可以显示正确的中文吧.
      

  6.   

    多谢各位的意见。问题已经解决。
    首先,我如果把编码方式都设置为utf-8,会出现乱码,后来我全部设置为GBK,这是第一步。
    然后,资源文件用native2ascii转换,原来的资源文件是ApplicationResources.properties,转换后的资源文件为BaseApplicationResources.properties。我没有把struts-config中的<message-resources parameter="ApplicationResources"/>改为<message-resources parameter="BaseApplicationResources"/>所以就出问题了。一改过来就好了。
      

  7.   

    TO 楼上,
    关于乱码的问题我也很头疼过,
    最后我是统一在页面设成UTF-8,
    然后用EncodingFilter统一对页面进行GB2312的请求编码过滤
    结果中文显示正常
    我对各编码方案进行组合,结果就上面一种方案对于我来说可行跟你的解决方法不同。。所以我只能说这个编码问题,与操作系统,与WEB容器类型,版本,以及JDK版本都是有关的,大家说呢??