Struts2中文国际化乱码问题

Struts2中国际化文件mess.properties用native2ascii进行转换,代码如下
native2ascii mess.properties mess_zh_CN.properties
转换成功后放到项目里面,但是出来的时候却出现了乱码。
将struts.xml的资源文件配置如下
<constant name="struts.custom.i18n.resources" value="mess"/>
<constant name="struts.custom.i18n.encoding" value="utf-8"/>
依次改用utf-8,gbk都不行。

mess.properties文件本身的编码格式是utf-8,而我的操作系统默认的编码格式是GBK。
native2ascii如果没有-encoding选项,则采用操作系统默认的编码格式,也就是GBK。

所以转化后读取出来会出现问题,改用native2ascii -encoding utf-8 mess.properties mess_zh_CN.properties,问题解决。

总结一下:native2ascii对资源文件进行转换之前,必需清楚资源文件本身的编码格式,并用-encoding选项指定源文件编码。

版权声明:本文为ppxxyy1110原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。