1. 程式人生 > >讓CMD視窗顯示中文[JAVAC輸出中文錯誤資訊亂碼的解決]

讓CMD視窗顯示中文[JAVAC輸出中文錯誤資訊亂碼的解決]

臨時解決方案:

在 CMD 中執行 chcp 936。

永久解決方案:

開啟不正常的 CMD 或命令提示符視窗後,單擊視窗左上角的圖示,選擇彈出的選單中的“預設值”,開啟如下圖的對話方塊。單擊第一個“選項”選項卡,將預設的內碼表改為 936 後重啟 CMD。

 cmd視窗顯示中文亂碼及無法輸入中文解決方法

附:

如果改了以後無法生效,視窗的“預設值”和“屬性”沒變,進入登錄檔,在 HKEY_CURRENT_USER 下找到 console 項下的 Console 以及其下可能有的 %SystemRoot%_system32_cmd.exe(這個 %SystemRoot%_system32_cmd.exe 下有的 codepage 話就改,如果沒有就不管它),codepage值改為 936(十進位制)或 3a8(十六進位制)。
936(十進位制)/3a8(十六進位制) 是簡體中文的,如是其它語言,要改為對應的程式碼。然後再執行第二段中所述的操作。

還可能和 CMD 的預設值的“字型”設定有關。

在 CMD 的“預設值”和“屬性”的“字型”選項卡中中確認設定的字型是可以顯示中文字元的字型,並且確定字型檔案沒有被破壞。字型最好設定為預設的點陣字型。

還是不行,乾脆把%SystemRoot%_system32_cmd.exe內容備份下,然後清空它。或是把以下內容儲存為REG檔案匯入試試。
Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Console\%SystemRoot%_system32_cmd.exe]
"QuickEdit"=dword:00000800
"CodePage"=dword:000003a8
"WindowSize"=dword:001e005a
"FontSize"=dword:000c0008
"FontFamily"=dword:00000030
"FontWeight"=dword:00000190
"FaceName"="Terminal"


當開啟一個DOS(執行command,實際上執行的是ntvdm.exe程式)視窗或
CMD(執行cmd,實際上執行的是cmd.exe程式)視窗後,
在其視窗的上方藍邊界處右鍵點選,在彈出的選單中選擇“屬性”,
[當然這時候選“預設值”會出來一個與“屬性”一樣的介面,但是好像不能進行設定。]
在出來的屬性介面中的“選項”標籤下面有一個當前內碼表,
如果為 437(OEM-美國)
那麼這個視窗是不支援顯示中文的,
所以用CMD命令中的CHCP命令來解決:如下:
比如:CHCP 936
這樣就可以顯示中文了。

[不過CHCP命令好像改不了ntvdm.exe的內碼表]

CHCP命令是用來顯示或設定活動內碼表編號。
格式如下:
CHCP [nnn]
nnn 指定內碼表編號。

不加引數鍵入 CHCP 顯示活動內碼表編號。

nnn指定一已有的系統字符集,該字符集在CONFIG.SYS檔案中由COUNTRY命令定義。
MS-DOS為以下國家和語言提供字符集: 
437 美國
850 多國語(Latin I)
852 斯拉夫語(Latin II)
860 葡萄牙語
863 加拿大語-法語
865 北歐語
936 中文

PS:

因為現在的JDK下載的時候是MultLanguage多語言版本的,JDK安裝完後後根據作業系統的語言環境選擇設定Local物件資訊,從而使用相應的語言環境,如果不想使用中文資訊,可將作業系統的語言環境改為英文,比如在Windows中的控制面板中的"區域和語言選項"-->"區域選項"-->"標準和格式"中,將語言格式設定為"英語(美國)"即可.