IDEA 修改编码   二. 编码问题引起的编译错误

IDEA:

  一. 文件编码修改

  IntelliJ IDEA可以在菜单中的File -> Settings -> Editor -> File Encoding下修改项目文件的编码

IDEA 修改编码
  二. 编码问题引起的编译错误

  1. IDE 的默认的全局编码是 UTF-8,Project Encoding 默认会是操作系统的 GBK,一般会修改为 UTF-8
  2.  IntelliJ IDEA 可以对 Properties 文件进行专门的编码设置,也建议改为 UTF-8,其中有一个重点就是属性 Transparent native-to-ascii conversion,一般都要勾选,不然 Properties 文件中的注释显示的都不会是中文
  3.  IntelliJ IDEA 除了支持对整个 Project 设置编码之外,还支持对目录、文件进行编码设置。如果你要对目录进行编码设置的话,可能会出现需要 Convert 编码的弹出操作选择,强烈建议 在转换之前做好文件备份,不然可能出现转换过程变成乱码,无法还原
  4.  另外,单独文件的编码也可以这样设置
IDEA 修改编码
  二. 编码问题引起的编译错误

     可能会弹出这样一个弹框

IDEA 修改编码
  二. 编码问题引起的编译错误

   1.  Reload 表示使用新编码重新加载,新编码不会保存到文件中

  2.  Convert 表示使用新编码进行转换,新编码会保存到文件中

  3.  含有中文的代码文件,Convert 之后可能会使中文变成乱码,所以在转换成请做好备份,不然可能出现转换过程变成乱码,无法还原

    编译报错:找不到符号、未结束的字符串文字 等的解决办法:

  1.  由于 UTF-8 编码文件有分 有BOM 和 无BOM 之分,默认情况下 IntelliJ IDEA 使用的编译器是 javac,而此编译只能编译 无BOM 的文件,有很多 Eclipse 用户在使用 IntelliJ IDEA 开发 Eclipse 项目的时候常常会遇到此问题。主要是因为 Eclipse 的编译器是 Eclipse,此编译器支持 有BOM 的文件编译。故,解决办法是对于此文件进行 BOM 去除

  2.  批量去除 BOM,你可以 Google:批量去除 BOM、批量转换无 BOM 等关键字,网络上已有提供各种方案
  3.  如果上述问题都无法解决,而且你也确认 IntelliJ IDEA 各个配置编码的地方都是 UTF-8,报错文件编码也是是 UTF-8 无 BOM 的话,那还有一种可能也会出现这种情况:项目配置文件有问题。项目编码的配置文件在:/项目目录/.idea/encodings.xml。如果你会修改此文件可以进行修改,如果不会,那就删除掉 .idea 整个目录,重启 IntelliJ IDEA 重新配置这个项目即可

  三. tomcat 控制台输出乱码

  1.  如果你的 Tomcat 控制台输出乱码,并且你已经保证了本文上面的控制台字体设置你设置的字体包含中文,那你还可以尝试下在 Tomcat 的 VM 参数上加上:

-Dfile.encoding=UTF-8

IDEA 修改编码
  二. 编码问题引起的编译错误

    2. 打开Intellij的安装的bin目录(D:JetBrainsIntelliJ IDEA 2019.1.3in),找到这两个文件(根据你的系统是32位或64位选择其中一个配置文件),在配置文件中添加:

-Dfile.encoding=UTF-8

IDEA 修改编码
  二. 编码问题引起的编译错误

    3. 对于maven构建的项目,由于idea中maven的配置优先,需要在pom.xml中对maven-surefire-plugin进行配置。

 <plugins>

      <plugin>

        <groupId>org.apache.maven.plugins</groupId>

        <artifactId>maven-surefire-plugin</artifactId>

        <version>2.12.4</version>

        <configuration>

          <forkMode>once</forkMode>

          <argLine>-Dfile.encoding=UTF-8</argLine>

        </configuration>

      </plugin>

    </plugins>