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 形式にする必要があります。詳細については、ResourceBundle を使用してリソース プロパティで UTF-8 を使用する方法を参照してください。

于 2012-12-27T18:44:36.107 に答える