我正在尝试从.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 שלום
输出为:ùìåí
答案 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
了解更多信息