今天在学Struts2的时候,看官方文档看到Message Resource Files这节。新建扩展名为.properties的Property Files,里面输入中文的时候会报“Some characters cannot be mapped using 'ISO-8859-1' character encoding”这种错误。其实也就是properties文件的编码问题。修改很容易:在Eclipse主界面下,打开 Window ->Perferences ->General ->Context Types ->Text -> Java Properties和Properties File下的Default encoding改为你JSP文件的编码格式,我的JSP用的utf-8,我这里就改为UTF-8了,Properties资源文件的编码的默认设置是ISO-8859-1。
这样就可以保存包含中文的properties文件,不报错。
但是页面显示的时候还是会有乱码,用struts做国际化的时候,肯定会碰到这种问题。因为需要用native2ascii 来转换一下的嘛。
手动转换多麻烦呢,这里有两个插件,一个是Properties Editor,另外一个是JInto.
Eclipse更新安装地址: http://propedit.sourceforge.jp/eclipse/updates/ 和 http://www.guh-software.de/eclipse/
其他安装方式可以参考我的另外一篇文章:eclipse插件的三种安装方法
插件主页地址:http://propedit.sourceforge.jp/index_en.html 和 http://www.guh-software.de/jinto.html
使用方法:
打开Properties文件:
Properties Editor使用方法:打开的Properties文件,文件中右键,选择“unicode表示” 便可得到unicode编码的文件,然后拷贝到打开的Properties文件中覆盖就OK了,
使用Jinto打开写有中文的Properties文件:
国际化效果: