Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/eclipse/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在eclipse项目中使用cyrillic.properties文件_Java_Eclipse_Internationalization - Fatal编程技术网

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

Java 在eclipse项目中使用cyrillic.properties文件,java,eclipse,internationalization,Java,Eclipse,Internationalization,我正在开发一个小项目,我想使用国际化。问题是,当我尝试使用包含西里尔字母符号的.properties文件时,文本显示为垃圾。当我硬编码字符串时,它显示得很好 这是我的密码: ResourceBundle labels = ResourceBundle.getBundle("Labels"); btnQuit = new JButton(labels.getString("quit")); 在my.properties文件中: 退出=退出 我得到垃圾。当我尝试 btnQuit = new JBu

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

这是我的密码:

ResourceBundle labels = ResourceBundle.getBundle("Labels");
btnQuit = new JButton(labels.getString("quit"));
在my.properties文件中:

退出=退出

我得到垃圾。当我尝试

btnQuit = new JButton("Изход);
它显示正确。据我所知,UTF-8是用于文件的编码

有什么想法吗

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

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

如果您单独使用该类(没有资源包),那么自Java 1.6以来,您可以使用
读取器(而不是
InputStream
)使用自定义编码来选择文件

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

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

定义“据我所知”:)