原链接 http://gostar.bokee.com/3885062.html
原作者:
gostar
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编码方式的属性文件。中文乱码自然会被解决。