網上很多人都建議用native2ascii把資源文件轉為ISO-8859-1編碼,
但是這樣就使用修改等變得麻煩起來,當然可以用ant、bat等來處理(建議ant),呵呵。
此時想介紹一下編程的方式,讓你直接用任何編碼格式的資源文件都有是OK的。

默認情況下ResourceBundle取得Bundle調用了ResourceBundle.Control類中的newBundle(String baseName, Locale locale, String format, ClassLoader loader, boolean reload) ,而此方法實際上生成并返回PropertyResourceBundle
即用了這個構造函數PropertyResourceBundle(InputStream stream)
 JDK.API文檔中有說"使用此構造方法讀取的屬性文件必須使用 ISO-8859-1。"
這就是為什么你要用native2ascii把資源文件轉為ISO-8859-1編碼

再請請看這一構造函數PropertyResourceBundle(Reader reader)
 JDK.API文檔中有說"與 PropertyResourceBundle(InputStream) 構造方法不同,關于輸入屬性文件的編碼沒有限制。"

如此解決方案有了,只要重寫下面這一方法調用PropertyResourceBundle(Reader reader)不就OK了嗎?
ResourceBundle.Control類中的newBundle(String baseName, Locale locale, String format, ClassLoader loader, boolean reload)


追加一點:如果你不知道自己的資源文件的編碼或者資源文件是別人寫的,你寫程序時不知道,
你可以用cpdetector_V**.jar,這個可以用來檢測到文本文件的編碼的