网上很多人都建议用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,这个可以用来检测到文本文件的编码的