2

我的操作系统是带有希伯来语语言环境的 Windows 7,并在我的代码中使用 Java 6。我已将语言环境更改为英语(美国),并将显示语言更改为英语。我重新启动了我的电脑,然后在我的 java 代码中尝试获取默认字符集,如下所示:

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

结果, str 设置为windows-1255
这意味着它仍然使用希伯来语作为默认字符集。
似乎是什么问题?

4

1 回答 1

2

通过 OpenJDK 来源,file.encoding因此defaultCharset()在 Windows 上根据以下设置:

Java 6:GetUserDefaultLCIDAPI 函数,对应于区域和语言控制面板小程序的格式选项卡上的格式选项。

Java 7:GetSystemDefaultLCIDAPI 函数对应于区域和语言控制面板小程序的管理选项卡上的“非 Unicode 程序的语言”,除非您将sun.locale.formatasdefaultJava 系统属性设置为 ,否则true将恢复为 Java 6 行为。

因此对于 Java 6,格式是要更改的设置。

于 2012-10-30T08:21:30.117 回答