首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JVM Charset.defaultCharset()不返回预期的字符集

JVM Charset.defaultCharset()不返回预期的字符集
EN

Stack Overflow用户
提问于 2012-10-30 08:00:43
回答 1查看 668关注 0票数 2

我的操作系统是windows 7,带有希伯来语言环境,在我的代码中使用Java 6。我已经把我的语言环境改成了英语(美国),也把显示语言改成了英语。我重新启动了PC,然后在java代码中尝试获得默认字符集,如下所示:

代码语言:javascript
复制
String str = Charset.defaultCharset().name();

结果,str设置为windows-1255

这意味着它仍然使用希伯来语作为默认字符集。

什么地方出问题了?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-10-30 08:21:30

根据OpenJDK源代码,file.encodingdefaultCharset()在Windows上被设置为:

Java6:GetUserDefaultLCID API函数,它对应于区域和语言控制面板applet的Format选项卡上的Format选项。

Java7:GetSystemDefaultLCID API函数,它对应于区域和语言控制面板applet中的“非Unicode程序语言”选项卡,除非您将sun.locale.formatasdefault Java属性设置为true,这将恢复到Java6行为。

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

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13134833

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档