我试图从 .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 שלום
输出是:ùìåí
最佳答案
因为你有一个 ResourceBundle 的实例,你可以通过以下方式获得 ISO-8859-1 编码的字符串:
String strISO = rb.getString("test");
然后您可以将其转换为 UTF-8 并使用以下命令打印:
System.out.println(new String(strISO.getBytes("ISO-8859-1"), "UTF-8"));
关于Java .properties 文件在尝试获取希伯来语值时出现乱码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14059392/