Java 在eclipse项目中使用cyrillic.properties文件
我正在开发一个小项目,我想使用国际化。问题是,当我尝试使用包含西里尔字母符号的.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
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")));
定义“据我所知”:)