尝试获取希伯来语值时,Java .properties文件乱码

时间:2012-12-27 18:26:19

标签: java encoding

我正在尝试从.properties文件中读取希伯来语值,我得到了胡言乱语。我尝试了几种方法,包括更改文件的编码(Cp1255,ISO-8859-8,UTF-8),在参数中添加-file.encoding,没有任何帮助。

这个问题是在我们从IAS(OC4J容器)迁移到Weblogic期间提出的,我注意到javascript消息(从.properties文件中读取)显示为???? ???,这在OC4J上不会发生。但是,这仅适用于从.properties文件读取的数据,其他所有内容都显示正常。

我一直在谷歌上搜索几天,但我还是找不到解决方案。

编辑: 我在家里尝试了什么

ResourceBundle rb = ResourceBundle.getBundle("test");
System.out.println(rb.getString("test"));

这就是test.properties的样子:

test שלום

输出为:ùìåí

2 个答案:

答案 0 :(得分:5)

由于你有一个ResourceBundle实例,你可以用以下代码获得ISO-8859-1编码的字符串:

String strISO = rb.getString("test");

然后,您可以将其转换为UTF-8并使用以下方式打印:

System.out.println(new String(strISO.getBytes("ISO-8859-1"), "UTF-8"));

答案 1 :(得分:4)

ResourceBundle的文件应采用ISO 8859-1编码或\ uXXXX格式,就像属性一样。请点击How to use UTF-8 in resource properties with ResourceBundle

了解更多信息