【问题标题】:IntelliJ 14 keeps switching encoding to UTF-8IntelliJ 14 不断将编码切换为 UTF-8
【发布时间】:2016-10-14 18:39:52
【问题描述】:

我有一个以 ISO-8859-1 编码的项目(我无法更改的历史选择)。

我将我的 IDE IntelliJ 14.1.1 Ultimate 设置为 ISO-8859-1: My encoding setting

(我的代码在 ISO-8859-1 中专门设置的文件夹中)

encoding.xml 看起来不错:

<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
  <component name="Encoding" defaultCharsetForPropertiesFiles="windows-1252">
    <file url="file://$PROJECT_DIR$" charset="ISO-8859-1" />
    <file url="file://$PROJECT_DIR$/mydir" charset="ISO-8859-1" />
    <file url="file://$PROJECT_DIR$/mydir/...ASpecificJavaFileThatIveTroubleWith.java" charset="ISO-8859-1" />
    <file url="PROJECT" charset="ISO-8859-1" />
  </component>
</project>

我的 .idea 没有在 git 上提交,因为它不是标准 IDE。

但是当我处理某个文件时,intelliJ 在保存时会不断将编码切换为 UTF-8。我多次将文件转换为 ISO-8859-1,用另一个编辑器打开它以确保没有 UTF-8 字符剩余。但是尽管我努力了,经过几次编辑,文件还是自动切换到了 UTF-8。

我重新启动IDE几次,没有变化。

有什么提示吗?

【问题讨论】:

  • 只是好奇,但该文件是否包含在两个字符集中具有不同编码的任何字符? IE。 ISO-8859-1 代码大于 0x7F 的任何东西?
  • 你读过他们的blog吗?可能和vcs有关。
  • (手头没有 IntelliJ。)javac 编译器也必须是 ISO-8859-1。或者项目特定设置被覆盖。对于 *.java,我几乎会将项目移植到 UTF-8(例如使用 native2ascii)。
  • @Jim Garrison :是的,我在一些 cmets 和日志中有一些 0xE9 和 0xE0。
  • @John Smith :我读过那个页面,但我没有自动检测复选框

标签: java intellij-idea encoding utf-8


【解决方案1】:

答案不存在,我终于得到了一位 intelliJ 专家朋友的答案,他建议我在项目根目录检查 de .editorconfig。他是对的,charset 是 utf-8,当我将其切换到 ISO-8859-1 时,他停止将我的文件转换为 utf-8。

我想禁用 EditorConfig 插件也可以。

【讨论】:

    【解决方案2】:

    转到文件 -> 设置 ((Ctrl | Cmd) + Alt + S)

    更改为 ISO-8859-1

    【讨论】:

    • 您查看我发布的图片了吗?这正是我设置的不?
    • 很抱歉。您尝试编辑哪些文件类型?某些文件类型具有与之关联的默认编码。
    • 它是一个 .java 文件,没有指定硬编码。
    【解决方案3】:

    我听从了您的建议,并设法说服我的老板我们需要更改项目编码。

    所以我开始将所有内容都转换为 UTF-8,希望这样可以解决问题。

    【讨论】:

    • 我使用 iconv 转换了所有项目,现在一切看起来都很好。
    猜你喜欢
    • 2012-06-30
    • 2011-06-26
    • 2014-02-02
    • 2012-01-15
    • 1970-01-01
    • 2010-12-19
    • 2012-04-24
    • 2015-11-08
    • 2011-01-28
    相关资源
    最近更新 更多