我的操作系统是windows 7,带有希伯来语言环境,在我的代码中使用Java 6。我已经把我的语言环境改成了英语(美国),也把显示语言改成了英语。我重新启动了PC,然后在java代码中尝试获得默认字符集,如下所示:
String str = Charset.defaultCharset().name();结果,str设置为windows-1255。
这意味着它仍然使用希伯来语作为默认字符集。
什么地方出问题了?
发布于 2012-10-30 08:21:30
根据OpenJDK源代码,file.encoding和defaultCharset()在Windows上被设置为:
Java6:GetUserDefaultLCID API函数,它对应于区域和语言控制面板applet的Format选项卡上的Format选项。
Java7:GetSystemDefaultLCID API函数,它对应于区域和语言控制面板applet中的“非Unicode程序语言”选项卡,除非您将sun.locale.formatasdefault Java属性设置为true,这将恢复到Java6行为。
因此,对于Java 6来说,格式是要更改的设置。
https://stackoverflow.com/questions/13134833
复制相似问题