錯誤:編碼GBK的不可映射字符

  當Java源代碼中包含中文字符時,咱們在用javac編譯時會出現「錯誤:編碼GBK的不可映射字符」。java

  因爲JDK是國際版的,咱們在用javac編譯時,編譯程序首先會得到咱們操做系統默認採用的編碼格式(GBK),而後JDK就把Java源文件從GBK編碼格式轉換爲Java內部默認的Unicode格式放入內存中,而後javac把轉換後的Unicode格式的文件編譯成class類文件,此時,class文件是Unicode編碼的,它暫存在內存中,緊接着,JDK將此以Unicode格式編碼的class文件保存到操做系統中造成咱們見到的class文件。當咱們不加設置就編譯時,至關於使用了參數:javac -encoding GBK Test.java,就會出現不兼容的狀況。編碼

  使用-encoding參數指明編碼方式:javac -encoding UTF-8 Test.java,就能夠了。操作系統

相關文章
相關標籤/搜索