原鏈接 http://gostar.bokee.com/3885062.html
原作者: gostar
1.原理
Property文件中,使用的編碼方式根據(jù)機器本身的設(shè)置可能是GBK或者UTF-8。而在Java程序中讀取Property文件的時候使用的是Unicode編碼方式,這種編碼方式不同會導(dǎo)致中文亂碼。因此需要將Property文件中的中文字符轉(zhuǎn)化成Unicode編碼方式才能正常顯示中文。
2.解決辦法
Java提供了專門的工具對Property文件進行Unicode轉(zhuǎn)化,這種工具就是native2ascii,它在JDK安裝環(huán)境的bin目錄下。
native2ascii 工具將帶有本機編碼字符(非拉丁 1 和非單一碼字符)的文件轉(zhuǎn)換成帶有Unicode編碼字符的文件。
假設(shè)需要轉(zhuǎn)化的屬性文件為:D:\src\resources.properties(含有中文字符)
轉(zhuǎn)化后的屬性文件為:D:\classes\resources.properties(中文字符統(tǒng)一轉(zhuǎn)化為Unicode)
那么使用如下命令
JAVA_HOME\bin\native2ascii -encoding GBK
D:\src\resources.properties D:\classes\resources.properties
就能將含有中文字符的屬性文件轉(zhuǎn)化成單一Unicode編碼方式的屬性文件。中文亂碼自然會被解決。