一些遗留代码依赖于平台的默认字符集进行翻译。对于“西方世界”中的 Windows 和 Linux 安装,我知道这意味着什么。但考虑到俄罗斯或亚洲平台,我完全不确定他们平台的默认字符集是什么(只是 UTF-16?)。
因此我想知道执行以下代码行时会得到什么:
System.out.println("Default Charset=" + Charset.defaultCharset());
PS:
我不想在这里讨论字符集的问题以及它们与 Unicode 的区别。我只想收集哪些操作系统会产生哪些特定的字符集。请仅发布具体值!
这是用户特定的设置。在许多现代 Linux 系统上,它是 UTF-8。在 Mac 上,它是 MacRoman。在美国的 Windows 上,通常为 CP1250,在欧洲则为 CP1252。在中国,您经常会看到简体中文(Big5 或 GB*)。
但这是系统默认值,每个用户都可以随时更改。这可能是解决方案:使用系统属性启动应用程序时设置编码file.encoding
看到这个答案 https://stackoverflow.com/a/623036/34088怎么做。我建议将其放入一个启动应用程序的小脚本中,这样用户默认值就不会受到污染。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)