今天在处理java国际化的过程中,本来看书上的介绍是直接在mess_zh_CN.properties配置是
#资源文件的内容是key-value对
hello=成功登录
但怎么也保存不了,说是在properties文件中不支持中文,在网上查了一下,发现别人在mess_zh_CN.properties中,将中文是用类似\60a8来进行编码,一开始还以为是区位码的表示,但在网上查询了一下才知道类似这种编码格式是CJK编码.
CJK编码是是ISO/IEC 10646-1:1993-2000中的CJK Unified Ideographs。编码为0000 4E00-0000 9FA5,共20902个中日韩汉字。
所以可以在mess_zh_CN.properties配置为:
hello=\u6210\u529f\u767b\u5f55 从而问题顺利解决
如果直接在建立的java文件中,则上述CJK编码不需要进行编码之间的转化而可以直接是出。
public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.println("\u5bf9\u4e0d\u8d77\uff0c\u60a8\u4e0d\u80fd\u767b\u5f55\uff01");
String ss = "\u5bf9\u4e0d\u8d77\uff0c\u60a8\u4e0d\u80fd\u767b\u5f55\uff01\ue5f1";
try {
ss= new String(ss.getBytes(), "GB2312");
} catch (UnsupportedEncodingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
System.out.print(ss);
System.out.println("\u6210\u529f\u767b\u5f55");
}
上述是一个测试文件 主要是说明在CJK编码格式下 不需要特意的进行编码之间的转化