用CMD執行時Java,出現亂碼的解決辦法

響叮叮@當發表於2020-12-20

用CMD執行時Java,出現亂碼的解決辦法

———————————————————————————————————————
很多Java的初學者,第一次都會用TXT文字文件進行我們Hello Java程式的編寫。
方法如下:

  1. 開啟記事本,輸入以下程式碼
class HelloJava{

            public static void main(String[] args){
                        System.out.println("歡迎回到Java的世界!");
            }
}
  1. 將TXT文字文件另存為HelloJava.java
    此時我們需要將儲存的編碼格式修改為:ANSI在這裡插入圖片描述
  2. 執行CMD命令指示符,分別先後執行以下程式碼:
    javac HelloJava.java
    java HelloJava
    正確的執行結果:在這裡插入圖片描述
    亂碼的執行結果:

    為什麼會出現亂碼的編譯結果呢?
    因為有的初學者在另存為時沒有修改XXXX.java檔案的編碼格式,導致電腦與其不是同一本編碼字典。
    網路上解決此問題的方法有三種,此處進行了彙總及測試結果的演示:
    1、系統-環境變數-新建變數,
    ​ 變數名稱: JAVA_TOOL_OPTIONS
    ​ 變數值: -Dfile.encoding=UTF-8
    實踐結果:無法解決亂碼
    2、編譯時執行 javac -encoding utf-8 xx.java
    實踐結果:無法解決亂碼
    3、Hello.txt檔案另存為Hello.java時,將編碼格式設定為ANSI
    實踐結果:亂碼問題解決
    問題原因:新建xx.java時,預設編碼格式為utf-8,而編譯時系統預設編碼為ANSI

相關文章