中文乱码的原因有很多种,特罗列如下,看了appfuse对中文的支持有点问题.
1.build.xml里面display资源没有国际化处理,也就是没有进行编码,在build.xml进行修改使之进行国际化.
修改方案:
<native2ascii src="web/WEB-INF/classes" dest="${build.dir}/web/classes"
includes="<STRONG>ApplicationResources_zh</STRONG>*.properties" encoding="UTF-8"/>
<generate-database-properties/>
改为:
<native2ascii src="web/WEB-INF/classes" dest="${build.dir}/web/classes"
includes="<STRONG>*_zh*.properties</STRONG>" encoding="UTF-8"/>
<generate-database-properties/>
2.Tomcat 的URLEnCording要设置为UTF8,应为appfuse是以utf-8打包的
3.就是要对原始<STRONG>ApplicationResources</STRONG>_zh_cn.properties进行ascii编码转换然后丢到classes里面,不要用他ant自动转换过的 .奇怪的是appfuse的ant的时候是对文件进行转换了,但是还是有部分中文存在乱码,奇怪ing......不知道是appfuse的疏忽还是什么.继续研究中...我是appfuse-1.9-src的包.但是我手工转了下ant之前的源码,发现乱码问题消失.就这个原因搞了我一个晚上....郁闷
修改方案:
native2ascii -encoding UTF-8 ApplicationResources_zh_CN.properties te<STRONG> (te为转后文件名)
</STRONG>native2ascii te ApplicationResources_zh_CN.properties1 -reverse(转回来 呵呵)
补充一点,在appfuse的appfuse-1.9-src这个包里的 ApplicationResource...直接打开是中文是乱码,可以采用上面的两条命令把它还原出来.便于我们的开发然后修改ant任务即可.而对于appfuse-jsf-1.9-src来说,它的applicationResource...打开后就是我们可以看懂的中文:). 总之,new之后的项目的ApplicationResources...要用原来的文件替换掉.
1.build.xml里面display资源没有国际化处理,也就是没有进行编码,在build.xml进行修改使之进行国际化.
修改方案:
<native2ascii src="web/WEB-INF/classes" dest="${build.dir}/web/classes"
includes="<STRONG>ApplicationResources_zh</STRONG>*.properties" encoding="UTF-8"/>
<generate-database-properties/>
改为:
<native2ascii src="web/WEB-INF/classes" dest="${build.dir}/web/classes"
includes="<STRONG>*_zh*.properties</STRONG>" encoding="UTF-8"/>
<generate-database-properties/>
2.Tomcat 的URLEnCording要设置为UTF8,应为appfuse是以utf-8打包的
3.就是要对原始<STRONG>ApplicationResources</STRONG>_zh_cn.properties进行ascii编码转换然后丢到classes里面,不要用他ant自动转换过的 .奇怪的是appfuse的ant的时候是对文件进行转换了,但是还是有部分中文存在乱码,奇怪ing......不知道是appfuse的疏忽还是什么.继续研究中...我是appfuse-1.9-src的包.但是我手工转了下ant之前的源码,发现乱码问题消失.就这个原因搞了我一个晚上....郁闷
修改方案:
native2ascii -encoding UTF-8 ApplicationResources_zh_CN.properties te<STRONG> (te为转后文件名)
</STRONG>native2ascii te ApplicationResources_zh_CN.properties1 -reverse(转回来 呵呵)
补充一点,在appfuse的appfuse-1.9-src这个包里的 ApplicationResource...直接打开是中文是乱码,可以采用上面的两条命令把它还原出来.便于我们的开发然后修改ant任务即可.而对于appfuse-jsf-1.9-src来说,它的applicationResource...打开后就是我们可以看懂的中文:). 总之,new之后的项目的ApplicationResources...要用原来的文件替换掉.