【问题标题】:Why does Eclipse use Cp1252 encoding? [closed]为什么 Eclipse 使用 Cp1252 编码? [关闭]
【发布时间】:2012-12-09 21:31:02
【问题描述】:

抱歉,如果这是一个非常业余的问题!我知道 Eclipse 使用 Cp1252 作为其编码的默认值。
我最近创建了一个程序,使用哈希映射将输入的字母转换为盲文。为此,我不得不将编码方法更改为 UTF-8。

我对两者都知之甚少,但我所读到的所有内容都表明 UTF-8 可以表示 Unicode 中的每个字符,并且具有更大的可识别符号库。

那为什么它不是 Eclipse 的首选编码风格?

【问题讨论】:

  • Eclipse 使用 Cp1250 作为其编码的默认值是什么意思。 ? eclipse 中的控制台使用操作系统的默认编码。还是你说的是文件 IO?
  • Eclipse 必须在您的计算机上使用默认编码,该编码必须是设置为 CP1250 的 Windows 框。这可能就是你想要改变的。
  • 他实际上是在问一个有效的问题:“为什么它不是 Eclipse 的首选编码风格?”也就是说,为什么 Eclipse 没有预先配置为文本文件采用 UTF-8?这是一个很好的问题。
  • 我问自己同样的问题,因为这是在团队中反复出现的问题。答案是它已成为近 10 年的未决问题:bugs.eclipse.org/bugs/show_bug.cgi?id=108668 如果您不同意“平台默认设置”(您通常不会选择),请投票给它

标签: java eclipse encoding utf-8 cp1252


【解决方案1】:

当您针对一个全新的工作区启动 Eclipse 时,Eclipse 必须决定在默认情况下在处理某些类型的基于文本的文件时使用哪种编码:文本文件、Java 源文件、JSP 文件、XML 等等。

默认情况下,Eclipse 使用默认平台编码,该编码源自您的操作系统设置。

至于为什么 UTF-8 不是文本文件的默认编码,原因是,在世界范围内,仍有大量纯文本文件使用 UTF-8不向后兼容。虽然 UTF-8 向后兼容大多数西方编码,但其他编码则不然。

您可以通过修改工作区的设置来更改这些默认编码。但请记住,这些设置存储在工作区级别;如果您稍后启动新工作区,新工作区将设置默认编码。

要更改默认编码,只需转到工作区 -> 首选项,然后在对话框左上角的搜索框中输入“编码”。 Eclipse 将过滤首选项对话框以包含与编码相关的项目。

【讨论】:

  • 我有 Windows 8 - 它是否默认使用 Cp1252(抱歉 - 我最初发布的是 Cp1250,但它是 Cp1252)?
  • 任何版本的 Windows(包括 8),设置为 English-US(可能还有其他类型的英语,例如 English-Canada 和某些其他语言)最终将默认为 Cp1252。跨度>
  • 谢谢,这正是我想知道的。那是因为它是 Microsoft 的编码工具,不是吗?
  • 您的问题“为什么 UTF-8 不是文本文件的默认编码”是一个很好的问题。我编辑了我的答案以详细说明。
  • 感谢 Isaac 提供的信息,但我不完全同意您对 UTF-8 默认值的回答。我会想象(尽管从以西方为中心的角度来看)大部分纯文本文件是 ASCII。除非您考虑其他格式,否则这会使您的响应无效,因为 UTF-8 旨在向后兼容 ASCII。
猜你喜欢
  • 1970-01-01
  • 2010-12-22
  • 2014-07-22
  • 2016-08-12
  • 1970-01-01
  • 1970-01-01
  • 2014-10-24
  • 1970-01-01
相关资源
最近更新 更多