cmd中執行java檔案出現亂碼如下:(建議:java影片教學)
原因:
由於JDK是國際版的,在編譯的時候,如果我們沒有用-encoding參數指定我們的JAVA原始程式的編碼格式,則javac.exe首先獲得我們作業系統預設採用的編碼格式,也即在編譯java程式時,若我們不指定原始程式檔案的編碼格式,JDK先取得作業系統的file.encoding參數(它儲存的就是作業系統預設的編碼格式,如WIN2k,它的值為GBK),然後JDK就把我們的java原始程式從file.encoding編碼格式轉換為JAVA內部預設的UNICODE格式放入記憶體。
然後,javac把轉換後的unicode格式的文件進行編譯成.class類文件,此時.class文件是UNICODE編碼的,它暫放在內存中,緊接著,JDK將此以UNICODE編碼的編譯後的class檔案保存到我們的作業系統中形成我們見到的.class檔案。
對我們來說,我們最終獲得的.class文件是內容以UNICODE編碼格式保存的類文件,它內部包含我們源程序中的中文字符串,只不過此時它己經由file. encoding格式轉換為UNICODE格式了。
當我們不加設定就編譯時,相當於使用了參數:javac -encoding gbk XX.java,當然就會出現不相容的情況。
解決方法:
1、轉換成UTF-8編碼格式,但仍有錯誤
解決方法是:應該使用-encoding參數指明編碼方式:javac -encoding UTF-8 XX.java
2、開始-->電腦-->滑鼠反鍵(滑鼠右鍵)-->屬性-->進階系統設定--> ;環境變數-->系統變數
新建。然後輸入:「JAVA_TOOL_OPTIONS」變量,值為「-Dfile.encoding=UTF-8」
然後確定、確定、在確定後。新開命令列窗口,再次輸入javac命令。
更多java知識請關注java基礎教學欄。
以上是java在cmd運行時出現亂碼解決方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!