在eclipse项目中使用cyrillic .properties文件

时间:2010-08-29 19:39:09

标签: java eclipse internationalization

我正在开发一个小项目,我想使用国际化。问题是,当我尝试使用内部带有西里尔符号的.properties文件时,文本显示为垃圾。当我对字符串进行硬编码时,它显示得很好。

这是我的代码:

ResourceBundle labels = ResourceBundle.getBundle("Labels");
btnQuit = new JButton(labels.getString("quit"));

在我的.properties文件中:

退出=Изход

我得到了垃圾。当我尝试

btnQuit = new JButton("Изход);

显示正确。据我所知,UTF-8是用于文件的编码。

有什么想法吗?

2 个答案:

答案 0 :(得分:7)

AnyEdit是一个eclipse-plugin,允许您轻松地将您的属性文件转换为unicode符号。 (避免使用命令行工具,如native2ascii)

如果您单独使用Properties类(没有资源包),那么从Java 1.6开始,您可以使用Reader选择load具有自定义编码的文件(而不是{1}}而不是InputStream

我猜您也可以使用new PropertyResourceBundle(reader),而不是ResourceBundle.getBundle(..),其中reader是:

Reader reader = new BufferedReader(new InputStreamReader(
     getClass().getResourceAsStream("messages.properties"), "utf-8")));

答案 1 :(得分:4)

Properties默认为ISO-8859-1编码。必须使用native2ascii将UTF-8属性转换为包含所有非ISO-8859-1字符的unicode转义序列的有效ISO-8859-1属性文件。