Windows下用命令列編譯Java檔案問題總結
在 Windows 下,由於預設字元編碼的問題,在命令列中手動編譯 Java 原始檔會出現這樣和那樣的問題,這裡做一個總結,給出每個問題的解決方法。
錯誤: 編碼GBK的不可對映字元
檔案中有中文就會出現這個錯誤。
解決方法:
1、在編譯命令中加入編碼設定,即命令改為javac -encoding utf-8 Java原始檔
2、將Java原始檔用記事本開啟另存為 ANSI 編碼的檔案,不過不推薦這種方式。
錯誤: 非法字元: ‘\ufeff’
utf-8編碼也分 utf-8 with bom 和 utf-8 no with bom 兩種,Windows 下使用記事本儲存為 utf-8 的檔案,會給你加上 bom,有沒有 bom 簡單的來說就是檔案開頭有沒有 \ufeff 字元,而標準的 utf-8 是不需要 bom 的,Linux 下utf-8 不帶 bom。
解決方法:
修改檔案的編碼為 utf-8 無 bom,可以藉助一些可以修改檔案編碼的編輯器(如 Sublime Text、Notepad++等),別用記事本修改編碼了。