Java国际化开发时不明白为什么需要将本身就是utf-8格式的含中文的properties文件使用native2ascii工具转Unicode? 希望能回答解释一下原理?
#myResource_zh_CN.properties文件
name = 中国
font = 中文
//Java main()
public static void main(String[] args) {
Locale localeCN = new Locale("zh", "CN");
ResourceBundle bundle = ResourceBundle.getBundle("myResource", localeCN);
System.out.println(new String(bundle.getString("name")));
System.out.println(bundle.getString("font"));
}
//控制台输出为乱码
ä¸å½
ä¸æ
这就要从Java内部字符编码说起了,也是由于Java中字符串的存储都是Unicode编码,properties文件直接用Unicode也是为了消除除编码差异。
参考:
https://www.cnblogs.com/cwane...
https://stackoverflow.com/que...