IDEA 進行編譯代碼的時候,特別是新項目 特別容易出現 編碼錯誤,但是 File-Encoding中設置的又沒有問題,而且maven 是能打包的,就是用 idea 自帶的 編譯的時候 就會出現提示 找不到字符,錯誤開頭會提示

java: Multiple encodings set for module chunk xxx(項目名) "GBK" will be used by compiler
提示諸如此類的報錯
[ERROR] /D:/xxxxxxx/test.java:[1,1] java:需要')' [ERROR] /D:/xxxxxxx/test.java:[1,10] java:未結束的字符串文字 [ERROR] /D:/xxxxxxx/test.javaa:[1,1] 非法字符: \65279 [ERROR] /D:/xxxxxxx/test.java:[1,10] 需要class, interface或enum [ERROR] /D:/xxxxxxx/test.java:[1,10] java:需要';'
問題所在:當編譯器用GBK編碼來編譯UTF-8文件時,就會把UTF-8(帶BOM)編碼文件的文件頭的占3個字節的頭信息,按照GBK中漢字占兩個字節、英文占1個字節的特性解碼成了“亂碼”的兩個漢字。
但是我們的設置里面 設置的 是 UTF-8 那么顯然哪個地方把它設置為 GBK 了;
那么首先: 檢查.idea/encodings.xml是否對某些類指定了charset,如果有,刪除即可
不過既然發現了問題,就得排查一下怎么來的

首先查看了一下文件修改的記錄,發現是同事提交代碼的時候提交了.idea的配置文件,導致在pull代碼的時候,把配置文件也一起pull下來了。。友情提醒各位同學,提代碼不要提本地的配置文件啊。。血坑啊
