1,原理 Property文件中,使用的编码方式根据机器本身的设置可能是GBK或者UTF-8。而在Java程序中读取Property文件的时候使用的是Unicode编码方式,这种编码方式不同会导致中文乱码。因此需要将Property文件中的中文字符转化成Unicode编码方式才能正常显示中文。
2,解决办法 Java提供了专门的工具对Property文件进行Unicode转化,这种工具就是native2ascii,它在JDK安装环境的bin目录下。 native2ascii 工具将带有本机编码字符(非拉丁 1 和非单一码字符)的文件转换成带有Unicode编码字符的文件。 假设需要转化的属性文件为:D:/src/resources.properties(含有中文字符) 转化后的属性文件为:D:/classes/resources.properties(中文字符统一转化为Unicode) 那么使用如下命令 JAVA_HOME/bin/native2ascii -encoding GBK D:/src/resources.properties D:/classes/resources.properties 就能将含有中文字符的属性文件转化成单一Unicode编码方式的属性文件。中文乱码自然会被解决。