1

我正在尝试从 .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 שלום

输出是:ùìåí

4

2 回答 2

5

由于您有一个 ResourceBundle 实例,因此您可以获得 ISO-8859-1 编码的字符串:

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

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

System.out.println(new String(strISO.getBytes("ISO-8859-1"), "UTF-8"));
于 2012-12-27T18:47:02.133 回答
4

ResourceBundle 的文件应该采用 ISO 8859-1 编码或 \uXXXX 格式,就像 Properties 一样。在如何使用 ResourceBundle 在资源属性中使用 UTF-8了解更多信息

于 2012-12-27T18:44:36.107 回答