项目下.java文件采用不同编码方案编译时的编码问题

来源:互联网 发布:医院网络规划设计方案 编辑:程序博客网 时间:2024/05/29 08:43

现在有一个项目,在其下有些.java文件采用GBK编码方案,有些.java文件采用UTF-8编码方案。


由《编译.java文件时的编码问题》可知,编译采用GBK编码方案的.java文件,得使用"javac -encoding gbk xxx.java"命令,编译采用UTF-8编码方案的.java文件,得使用"javac -encoding utf8 xxx.java"命令,这样子才能编译得到正确的.class文件。


由《Intellij Idea编译项目下的.java文件时的编码问题》可知,在Intellij Idea中编译项目下的.java文件的时候,最终执行的javac命令使用的encoding参数值是全局统一的,那么不管该值取为utf8还是gbk,那些采用跟该encoding值不一样的编码方案的.java文件被编译时,不能得到正确的.class文件


由《Maven编译项目下的.java文件时的编码问题》可知,在Maven中编译项目下的.java文件的时候,最终执行的javac命令使用的encoding参数值是全局统一的,那么不管该值取为utf8还是gbk,那些采用跟该encoding值不一样的编码方案的.java文件被编译时,不能得到正确的.class文件


i、不管是在Intellij Idea中编译项目还是在Maven中编译项目,如果最终的encoding参数是"-encoding utf8"的情形,那么那些采用GBK编码方案的.java文件中的字节流就不能被正确解码。


ii、不管是在Intellij Idea中编译项目还是在Maven中编译项目,如果最终的encoding参数是"-encoding gbk"的情形,那么那些采用UTF-8编码方案的.java文件中的字节流就不能被正确解码。


综上所得,在一个项目中.java文件的编码方案必须是统一的,但是允许.xml,.properties等文件的编码方案可以跟.java文件的编码方案不一样。

0 1