2

私のOSはヘブライ語ロケールのWindows7で、コードでJava6を使用しています。ロケールを英語(米国)に変更し、表示言語も英語に変更しました。PCを再起動した後、Javaコードで次のようにデフォルトの文字セットを取得しようとしました。

String str = Charset.defaultCharset().name();

その結果、strはwindows-1255に設定されます。
これは、デフォルトの文字セットとしてヘブライ語を引き続き使用していることを意味します。
問題であると想定されるのは?

4

1 に答える 1

2

OpenJDK ソースを使用するため、Windows では次file.encodingのように設定されます。defaultCharset()

Java 6:GetUserDefaultLCID地域と言語コントロール パネル アプレットの [形式] タブの [形式] オプションに対応する API 関数。

Java 7: Java システム プロパティをJava 6 の動作に戻す にGetSystemDefaultLCID設定しない限り、[地域と言語] コントロール パネル アプレットの [管理] タブの [非 Unicode プログラムの言語] に対応する API 関数。sun.locale.formatasdefaulttrue

したがって、Java 6 の場合、Format は変更する設定です。

于 2012-10-30T08:21:30.117 に答える