我的开发环境:win7 x64(英文版的,但是把system locale设为中文PRC了)
[用的是Groovy,所以public什么的就省了]
// Controller
void i18n2() {
String s = I18N.getText("language", Locale.CHINA);
log.info(s);
//试过第二个参数为UTF8, GBK都正常
Prop p = new Prop("messages_zh_CN.properties");
String t = p.get("language");
log.info(t);
renderText("你好");
}
I18N在Locale=CHINA的时候读取的就是 messages_zh_CN.properties,理论上String s == t,但是实际上s却是显示乱码
2015-01-22 22:22:08 [org.apache.log4j.Category$info.call()]: ÓïÑÔ 2015-01-22 22:22:08 [org.apache.log4j.Category$info.call()]: 语言 2015-01-22 22:22:08 [com.jfinal.log.Log4jLogger$info.call()]: 你好
是不是I18N和Prop在读取文件的时候采用的默认encoding不一样? 但是我试了把properties保存成不同的encoding,效果都是一样的。
在此谢谢大家!
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。