问题描述
有一个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.png
编码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.png
是的,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编译,通过

success.png
