问题描述
有一个Java项目,创建时使用了GBK编码。然后,传到了GitHub上。
在GitHub上直接点击编辑,会提示:
We've detected the file encoding as GB18030. When you commit changes we will transcode it to UTF-8.
下载到本地之后,使用IntelliJ IDE导入项目,发现文件中出现中文乱码。
解决过程
一. 使用Maven直接编译,报错如下:
编码GBK的不可映射字符
二. 使用GBBIG5UTF-8 转换工具.exe把项目中的.java文件都转成了UTF-8格式
这时使用Maven编译,报错:
[ERROR] /D:/Workspaces/others/java-exlorer/src/main/java/com/hua/thestring/VaccineAddZero.java:[1,1] 非法字符: '\ufeff'
[ERROR] /D:/Workspaces/others/java-exlorer/src/main/java/com/hua/thestring/VaccineAddZero.java:[1,10] 需要class, interface或enum
三. 使用Notepad++,把一个一个文件,转成了“以UTF-8无BOM格式编码”
是的,107个文件。没有找到批量转的方法,然后手动一个一个转的。
四. 项目的pom.xml中添加以下内容指定UTF-8编码
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.1</version>
<configuration>
<source>1.7</source>
<target>1.7</target>
<encoding>UTF-8</encoding>
</configuration>
</plugin>
</plugins>
</build>
重新Maven编译,通过