由於JDK是國際版的,我們在用javac編譯時,編譯程式首先會獲得我們操作系統預設採用的編碼格式(GBK),然後JDK就把Java源文件從GBK編碼格式轉換為Java內部預設的Unicode格式放入記憶體中,然後javac把轉換後的Unicode格式的文件編譯成class類文件。中文不支持Unicod ...
由於JDK是國際版的,我們在用javac編譯時,編譯程式首先會獲得我們操作系統預設採用的編碼格式(GBK),然後JDK就把Java源文件從GBK編碼格式轉換為Java內部預設的Unicode格式放入記憶體中,然後javac把轉換後的Unicode格式的文件編譯成class類文件。中文不支持Unicode編碼,所以報錯。
解決辦法(兩種):
- javac -encoding UTF-8 XX.java 使用-encoding參數指明編碼方式。
- 用記事本打開文件,然後另存為,選擇ANSI編碼,覆蓋掉該源文件。