小编Liu*_*ian的帖子

Charset.defaultCharset()在JDK1.7和JDK 1.6下得到不同的结果

我正在测试我的应用程序的i18n兼容性.我有一个英文版的Windows 7,这意味着系统的显示语言是英语.我将系统区域设置为非unicode应用程序的中文.

我的应用程序在导出jdk1.6下的中文字符的Html文件时遇到问题,但在jdk1.7下运行时工作正常.

我调试它,发现直接原因是Charset.defaultCharset()返回了不同的值.

在jdk1.7下Charset.defaultCharset()返回GBK,这是中文的charset.

在jdk1.6下Charset.defaultCharset()返回window_1252,这是拉丁语的charset.

我知道问题可以通过utf-8代码字符集来解决,比如代码.

但我想知道为什么Charset.defaultCharset()在JDK1.7和JDK 1.6下返回不同的值.

java encoding internationalization character-encoding windows-7

8
推荐指数
1
解决办法
4367
查看次数