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

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

相关文章推荐

修改 IntelliJ IDEA 的默认文件编码

有两种办法可以修改 IntelliJ IDEA 的文件编码 File->Setting->Editor->File Encodings 这种方式修改的文件编码方式只对当前 project 起作用,每次...

IDEA使用--字体、编码和基本设置

IDEA这么高端的工具之前只是断断续续使用了一下,因为项目的开发都是在eclipse上,每次学习IDEA的使用都得上网搜索半天,今天自己整理一下,方便以后查阅。IDEA版本15.0.4字体界面字体Fi...

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

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

使用IntelliJ IDEA编写自己的第一个java程序

IntelliJ IDEA目前公认的最好的java开发工具,不过一般的学校的教学还是使用eclipse来进行java的开发。所以老师一般只会教你如何用eclipse进行java的开发,在本篇文章你将学...
  • NEXTLJP
  • NEXTLJP
  • 2017年09月12日 20:59
  • 1222

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

windows环境下,Intellij idea12中maven操作时,控制台中文乱码问题 在cmd中mvn中文正常显示,log4j打印日志也是ok的。...

Intellij 在使用过程中遇到的问题及解决方法

1。编译工程通过,但在启动时却说某些类的语法格式有问题。检查java文件过后却是正确的,类似:Error:(122, 59) java: 未结束的字符串文字。  原因:project或者module...
  • ichsonx
  • ichsonx
  • 2015年09月09日 16:06
  • 8440

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

Eclipse、IDEA环境下设置jvm默认编码这这有个小程序,大家可以在自己机器上跑一下:import java.nio.charset.Charset;public class Encoding ...

IntelliJ IDEA 指定Java编译版本

打开  File -> Settings 按照如下图示设置。
  • grpideas
  • grpideas
  • 2015年10月07日 16:51
  • 19286

Intellij Ideay一、开启自动编译

一、背景 Intellij Idea默认状态为不自动编译状态,Eclipse默认为自动编译,很多朋友都是从Eclipse转到Intellij的,这常常导致我们在需要操作class文件时忘记对java...
  • aqzwss
  • aqzwss
  • 2015年05月12日 12:51
  • 28514

Intellij IDEA自动编译不用每次make

软件:IDEA 13.1.5  最近使用IDEA来开发JAVA应用,对IDEA的界面很有爱,但是缺受不了它的运行速度。每次运行都要编译,所以就有了这边文章 总感觉IDEA的编译速度比eclipse...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Intellij Idea编译项目下的.java文件时的编码问题
举报原因:
原因补充:

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