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


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

  由於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,就可以了。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM