CMD運行JAVA出現編碼GBK的不可映射字符處理方法?


方法一: (將notepad編輯器的編碼方式改為ANSI后再進行程序代碼的編譯,將之前亂碼的漢字刪除重新輸入正常的漢字)

1.notepad編輯器默認編碼方式為UTF-8時,CMD里面執行javac Teacher.java,代碼里中文打印會出現亂碼

2.此時調整notepad的編碼方式為ANSI,看到原來寫的漢字代碼出現亂碼

3.在notepad編碼方式為ANSI時將亂碼刪除,修改為正常的中文漢字

4.再次在CMD里執行javac Teacher.java時發現將不再報錯

分析:

1.出現這樣的錯誤,一般是因為代碼中含有中文字符,注釋中的中文字符也算。由於使用CMD運行java程序的時候,系統默認的編碼格式是gbk。而包含中文字符的代碼一般是UNICODE格式,所以直接運行含有中文字符的代碼就很容易出現編碼錯誤。

2.知道了問題來源,就很容易解決問題了。對於使用notpad++的朋友來說,可以直接使用編輯器自帶的轉碼功能。編碼轉換的位置在 編碼欄,將編碼轉換為“使用ANSN格式編碼”即可。

3.但是如果我們直接點擊“使用ANSN格式編碼”,會發現原來的中文都編程了亂碼,這顯然不是我們想要的效果。

4.正確的做法是先將源文件全部復制一遍,然后刪除掉所有的代碼,接着講編碼格式設置為“使用ANSN格式編碼",設置好之后再將源文件粘貼出來,保存即可。這個時候就會發現編碼編程了ANSN格式。

5.修改好了之后,我們再運行一下,完美運行。

 

方法二:(notepad編碼方式默認選擇UTF-8,CMD里執行的時候指明用UTF-8編碼方式編譯

應該使用-encoding參數指明編碼方式:javac -encoding UTF-8 *.java  (指明用UTF-8的編碼方式編譯)

注意: *  代指 java文件名


免責聲明!

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



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