如何解决struts中资源文件中得中文问题
我用得tomcat 是4.1.18
资源文件中得中文在jsp页面中显示是乱码,请问如何解决?
问题点数:0、回复次数:8Top
1 楼runaway(工作都没有)回复于 2003-08-03 23:31:46 得分 0
NATIVE2ASCIITop
2 楼gnw(往往)回复于 2003-08-03 23:40:49 得分 0
楼上的老兄说得对,只不过太简单了。
确实用那个函数,可是你得找到地方,我当时的做法是修改了Struts的源代码。
不修改源代码,不知行不行,我觉得好像是不行。
Top
3 楼gnw(往往)回复于 2003-08-03 23:44:52 得分 0
哦,说错了,不好意思!
我用的不是NATIVE2ASCII,那也不是一个函数。一不留神看错了!
不过我确实是修改的Struts的源代码。
Top
4 楼javathk()回复于 2003-08-04 10:12:39 得分 0
楼上的你怎么改的?赐教一下好吗?Top
5 楼hpguo_java(蚜虫)回复于 2003-08-09 14:52:26 得分 0
我觉得最好的方法是修改PropertyMessageResources类,该类使用了java.util.Properties类,出现乱码的原因就在这个类上,自己实现一个读取配置文件的类,将其替换掉就行了,如果你不想写的话我这有现成的,留个email就行了,当然,还有给分先^_^Top
6 楼smallbird105(理想实现者)回复于 2003-08-09 16:35:05 得分 0
使ApplicationResources.properties支持中文
建立一个ApplicationResources_ISO.properties文件,把应用程序用的message都写进去,然后在dos下执行这个命令,
native2ascii -encoding gb2312 ApplicationResources_ISO.properties ApplicationResources.properties
这样就会将ISO编码的ApplicationResources转换成GB2312编码的格式了,同时保存到ApplicationResources.properties.
native2ascii这个工具是jdk自带的一个东东,所以如果path都设定正确就可以直接运行了,你可以在$java_home$/bin下找到他。
转换后的中文类似于这个样子
iso 格式下 :tj.type=商品车类型
gb2312格式下 :tj.type=\u5546\u54c1\u8f66\u7c7b\u578b
然后在struts-config.xml中设置应用这个资源文件
<message-resources parameter="com.huahang.tj.ApplicationResources" key="org.apache.struts.action.MESSAGE" />
开发jsp时在jsp的开头写上<%@ page contentType="text/html; charset=gb2312" %>,将字符集设置成gb2312就可以了。
Top
7 楼transist(风动石)回复于 2003-08-10 18:35:53 得分 0
楼上讲得够清楚了
就是这样处理,绝对没问题Top
8 楼Alain_Delone(阿龙)回复于 2003-08-10 19:10:51 得分 0
呵呵,我下载过一个别人编的专门用来开发PROPERTIES文件的工具
同时写如中文保存后自动产生对应UNICODE形式内容的PROPERTIES文件Top




