Intellij Idea编译项目下的.java文件时的编码问题

原创 2015年07月22日 21:45:14
《编译.java文件时的编码问题》可知,在编译.java文件的时候,需要正确指定一个编码方案,该编码方案用于解码.java文件的字节流。
那么在使用Intellij Idea编译(假定使用javac编译工具)项目下所有的.java文件时,该如何指定正确的编码方案呢?

1)首先,我们需要知道当执行"Build"菜单下的"Make Project"命令,编译整个项目下的.java文件的时候,Intellij Idea执行的具体命令。我们可以通过以下方式获得,执行"Build"菜单下的"Generate Ant Build"命令,生成一个Ant Build File,然后通过这个Ant Build File,我们就可以得到Intellij Idea在编译整个项目的时候执行的具体命令。[1]


2)借助于1)中的Ant Build File,可以发现Intellij Idea在编译项目下的.java文件时,执行的具体命令是“带有各种参数的javac命令”。其中有一个"-encoding"参数,该参数就是用来指定编译.java文件时应该使用的编码方案的,如图1所示。Intellij Idea自身有一套机制,用来确定该参数的值,经过测试,该值有可能来自"Project Encoding"的配置,见图2;有可能来自某个.java文件被Intellij Idea检测到的使用的编码方案,见链接;也有可能来自图3中所示的编译器参数配置等等。具体的机制需要查阅相关文档。

                                                                                                      图1


                                                                                                                                           图2



                                                                                                                                        图3



3)由2)可得,Intellij Idea自身有一套确定"-encoding"参数值的机制,但是往往最后被确定的值不是我们想要的。而且"encoding"参数是非常重要的一个参数,为了更加准确地指定"-encoding"参数,我们可以在图3所示的编译器参数配置中明确配置"-encoding xxx"。


参考文献:

[1]http://stackoverflow.com/questions/2966530/can-i-see-the-exact-commands-intellij-uses-to-build-a-java-project

版权声明:本文为博主原创文章,未经博主允许不得转载。

idea中的中文注释出现乱码的解决方案

环境:win10,idea13.1.1   我是个idea的忠实用户,新公司的项目都是用eclipse做的,通过svn拉下代码后发现,注释的内容里,中文内容都是乱码。问过项目负责人,说可能...
  • Yansixiliang
  • Yansixiliang
  • 2017年09月03日 12:56
  • 699

idea|properties文件乱码

案例在idea 打开有些配置文件,如config.properties,里面中文注释出现乱码解决方案点击FILE->Settings->Editor->File Encodings如下图设置...
  • Evan_Leung
  • Evan_Leung
  • 2016年09月27日 14:56
  • 1777

解决IntelliJ IDEA 中文乱码问题

虽说网上有很多相关的内容,但恕我直言,都是同一个版本抄来抄去,有很多站长都没有经过自己是实践就……其实我就拿IDEA Community Edition 10.5来说,解决中文乱码问题其实很简单。按以...
  • AngelHacker
  • AngelHacker
  • 2011年07月03日 11:30
  • 36962

intellij 下编译单个(没有main函数的)java文件

图中这个按钮可以实现对单个没有main函数的java文件进行编译 这个问题真是大写的草泥马,之前google了无数文章,也许是觉悟太低,就是没有找到问题解决方法,在今天偶的看...
  • sakura_yuan
  • sakura_yuan
  • 2016年11月07日 21:19
  • 3303

IntelliJ IDEA 运行你的第一个Java应用程序

IntelliJ IDEA 运行你的第一个Java应用程序创建项目让我们创建一个简单的Java Hello World项目。单击创建新的项目。打开新建项目向导。你应该注意的主要是项目的SDK。SDK(...
  • testcs_dn
  • testcs_dn
  • 2016年06月30日 22:03
  • 52676

关于IDEA idea .java文件 右下角有个红色j,解决方法

也不知道为什么会出现这种情况:.class文件全都变成左下角一个红色的j文件,不可以编译。 在运行Java程序时有了这个报错: Cannot start compilation: the ...
  • u012654154
  • u012654154
  • 2017年06月06日 10:20
  • 6096

修改 IntelliJ IDEA 的默认文件编码

有两种办法可以修改 IntelliJ IDEA 的文件编码 File->Setting->Editor->File Encodings 这种方式修改的文件编码方式只对当前 project 起作用,每次...
  • shfqbluestone
  • shfqbluestone
  • 2015年12月10日 09:47
  • 49511

Eclipse、IDEA环境下设置jvm默认编码

Eclipse、IDEA环境下设置jvm默认编码这这有个小程序,大家可以在自己机器上跑一下:import java.nio.charset.Charset;public class Encoding ...
  • u014424628
  • u014424628
  • 2015年10月26日 20:37
  • 7007

IntelliJ IDEA 2016.1.2(64)项目和模块的编码设置

这几天再从eclipse转向IDEA 编码问题是两家的共性在属性eclipse编码后在IDEA中不知所措下面是目前最新的IDEA编码设置看看他的编码设置有什么好处 我现在有个tank Java se项...
  • hanghangde
  • hanghangde
  • 2016年07月28日 10:25
  • 5754

intellij idea操作maven时控制台中文乱码

windows环境下,Intellij idea12中maven操作时,控制台中文乱码问题 在cmd中mvn中文正常显示,log4j打印日志也是ok的。...
  • yeliping2011
  • yeliping2011
  • 2014年12月10日 16:51
  • 15758
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Intellij Idea编译项目下的.java文件时的编码问题
举报原因:
原因补充:

(最多只允许输入30个字)