CMD 編譯 Java 源文件時出現的編碼 GBK 的不可映射字符的錯誤。

錯誤: CMD 編譯 Java 源文件時出現的編碼 GBK 的不可映射字符的錯誤。

辦法:使用 javac -encoding UTF-8 .java 指定編碼形式。

原因:由於 JDK 是國際版的,在編譯的時候,如果我們沒有用 -encoding 參數指定 JAVA 源程序的編碼格式,則 java.exe 首先獲得我們才做系統默認採用的編碼格式,也即在編譯 JAVA 程序時,若我們不指定源程序文件的編碼格式,JDK 首先獲得操作系統的 file.encoding 參數(它保存的就是操作系統默認的編碼格式,如 win2k,他的值爲 GBK),然後 JDK 就把我們的 JAVA 源程序從 file.encoding 編碼格式轉化爲 JAVA 內部默認的 UNICODE 格式放到內存中。之後,javac 把轉換後的 UNICODE 格式的文件進行編譯成 class 類文件,此時 .class 文件是 UNICODE 編碼的,它暫放在內存中,緊接着,JDK 將此以 UNICODE 編碼編譯後的 .class 文件保存到操作系統中形成我們見到的 .class 文件。但我們不加設置就編譯時,相當於使用了參數: javac -encoding gbk xx.java,就會出現不兼容的情況。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章