为了正确显示和编辑文件,IntelliJ IDEA 需要知道使用哪种编码。通常,源代码文件大多采用 UTF-8 格式。除非您有其他要求,否则这是推荐的编码。
为了确定文件的编码,IntelliJ IDEA 使用以下步骤:
- 如果存在字节顺序标记(BOM),IntelliJ IDEA 将使用相应的 Unicode 编码,而不考虑所有其他设置。
- 如果文件明确声明了编码,IntelliJ IDEA 将使用指定的编码。例如,这可以应用于 XML、HTML 和 JSP 文件。显式声明也会覆盖所有其他设置,但您可以在编辑器中更改它。
- 如果文件中没有 BOM 且没有明确的编码声明,IntelliJ IDEA 将使用文件编码设置中为文件或目录配置的编码。如果没有为文件或目录配置编码,IntelliJ IDEA 将使用父目录的编码。如果父目录编码也没有配置,IntelliJ IDEA 将回退到Project Encoding,如果没有项目,则回退到Global Encoding。
更改用于查看文件的编码
如果 IntelliJ IDEA 错误地显示文件中的字符,它可能无法检测到文件编码。在这种情况下,您需要指定用于查看和编辑此文件的正确编码。
- 在编辑器中打开文件后,选择File | 文件属性 | 从主菜单中的文件编码或单击状态栏上的文件编码小部件,然后选择文件的正确编码。
编码列表相当大。您可以使用快速搜索快速找到正确的编码:在弹出窗口打开时开始输入。
标有或可能更改文件内容的编码。在这种情况下,IntelliJ IDEA 会打开一个对话框,您可以在其中选择如何处理文件:
- 重新加载:从磁盘加载编辑器中的文件,并将编码更改仅应用于编辑器。您将看到与所选编码相关的内容更改,但实际文件不会更改。
- 转换:用选择的编码覆盖文件。
这会将文件的关联添加到文件编码设置。IntelliJ IDEA 将使用指定的编码来查看和编辑这个文件。
配置文件编码设置
在Settings/Preferences对话框 ( Ctrl+Alt+S) 中,选择Editor | 文件编码。
IntelliJ IDEA 使用这些设置来查看和编辑它无法检测到编码的文件,并且还为新文件使用指定的编码。
全局编码 | 选择其他编码选项不适用时要使用的编码。例如,IntelliJ IDEA 将对不属于任何项目的文件或当您从版本控制系统检出源代码时使用此编码。 |
---|---|
项目编码 | 选择用于表中未列出的文件的编码。 |
小路 | 指定要为其配置编码的文件或目录的路径。 |
编码 | 选择用于指定文件和目录的编码。如果禁用此选择器,则文件可能具有 BOM 或显式声明编码。在这种情况下,您无法配置用于此文件的编码。为目录选择的编码适用于其中的所有文件和子目录。 |
属性文件的默认编码 | 选择项目中属性文件的编码。标准 Java API 旨在为属性文件使用 ISO 8859-1 编码。您可以对未由此编码定义的字符使用转义序列。或者,您可以在项目级别为属性文件定义默认编码,并使用不同的 API 来读取您定义的编码中的属性文件。 |
透明的 native 到 ascii 的转换 | 显示国家字符(未在ISO 8859-1中定义的字符)代替相应的转义序列。 |
创建 UTF-8 文件 | 选择 IntelliJ IDEA 应如何创建UTF-8文件:带 BOM无 BOMWindow 上有 BOM,否则没有 BOM默认情况下,IntelliJ IDEA 创建没有 BOM 的 UTF-8 文件,因为某些软件与 BOM 不兼容,并且在解释脚本时可能会出现问题。但是,在某些情况下,您可能希望在 UTF-8 文件中包含 BOM。要在项目中的所有 UTF-8 文件中添加或删除 BOM,请在项目工具窗口中右键单击项目的名称,然后选择Add BOM或Remove BOM。 |
选择控制台输出编码
默认情况下,IntelliJ IDEA 使用系统编码来查看控制台输出。
- 在Settings/Preferences对话框 ( Ctrl+Alt+S) 中,选择Editor | 一般 | 控制台。
- 从默认编码列表中选择默认编码。
- 单击确定以应用更改。