我的resourcebundle里有中文,编码是gb2312,jsp的编码也是gb2312,但是jsp里引用资源文件时还是出现了乱码,我用filter不管用,并且properties Editor安装不上(eclipse搜索不到它),请问该怎么办?
[quote]Java在处理属性文件时,只能处理ISO 8859-1(也称为latin-1或“西欧语言”)或UCS-2(\uxxxx格式)编码格式。因此,如果在属性文件中含有其他编码格式的字符,如GBK,Java仍然会按着ISO 8859-1编码格式来解释这些字符(如果遇到以"u开头的字符,就会按着UCS-2编码格式处理),[/quote]
[size=medium][color=darkblue]解决这个问题的方法也很简单,在JDK中提供了一个native2ascii.exe命令(在"bin目录中),这个命令用来将属性文件中的非ISO 8859-1格式的字符转换成\uxxxx格式的UCS-2编码格式。如按GBK编码的“用户”就会被转换成UCS-2编码格式的“\u7528\u6237”。
(——假设属性文件名为:ErrorDescription.properties )
使用如下的命令转换ErrorDescription.properties文件的编码格式:
<JDK安装目录>\bin\native2ascii ErrorDescription.properties ErrorDescription.properties
使用上面的命令将覆盖旧的ErrorDescription.properties文件。[/color][/size]
主要有三个问题:
1,Struts中资源文件中如果value为中文,Struts乱码
解决办法:使用Eclipse插件Properties Editor
2,在文本域里输入中文,导致Struts乱码
解决办法:使用servlet过滤器filter
最简单的可以借用tomcat下面的filters.SetCharacterEncodingFilter在自己的web.xml配置中加入tomcat中servlet_examples相应Eclipse配置(高手可以自己配!)
本人配置如下:
SetCharacterEncoding
filters.SetCharacterEncodingFilter
encoding
GBK
SetCharacterEncoding
*.do
使用eclipse插件Properties Editor 更新站点http://propedit.sourceforge.jp/eclipse/updates/(建议自动更新)
步骤:
Eclipse下的“帮助”/“软件更新”/”查找并安装“/选择第二项/“新建远程站点”/name随意写,url输入http://propedit.sourceforge.jp/eclipse/updates/