Windows下的CMD窗口默認是采用非UTF-8編碼的,有時候運行一些UTF-8編寫的批處理文件在控制台中的輸出就是亂碼,
CHCP是MD DOS中的命令,用來顯示或設置活動代碼頁編號的。用法是:
CHCP [num]
其中num指定的是代碼頁的編號。這個參數是可選的,如果,在默認的cmd窗口中,我們只輸入chcp,顯示的將類似:
活動的代碼頁: 936
其中 936就是各種編碼語言的的編號.
以下是幾種常用的編碼:
936 GBK(一般情況下為默認編碼)
437 美國英語
65001 utf-8
要設置CMD窗口編碼格式為UTF-8:
1.運行CMD
2.在命令行中輸入 chcp 65001 回車, 控制台會切換到新的代碼頁.
3.在標題欄點擊右鍵, 打開屬性面板, 會看到”選項”標簽頁下方顯示”當前代碼頁”的編碼. 然后選擇”字體”標簽頁, 把字體設置為Lucia Console, 然后確定關閉.
如果要設置回默認編碼:
1.運行CMD
2.在命令行中輸入 chcp 936 回車, 控制台會切換到新的代碼頁.
3.這時該代碼頁的編碼已經換為默認, 但可以關閉后重新打開還是其他編碼,可以在標題欄點擊右鍵, 打開屬性面板, 選擇”選項”標簽頁, 選中”丟棄舊的副本”多選項, 然后確定關閉.
以上內容轉載自:
https://blog.csdn.net/iway_lch/article/details/50408796
這樣設置有個問題是:
如果步驟1.運行CMD窗口是通過開始菜單里啟動的,那么會出現:
如果先啟動CMD窗口,然后運行UTF-8編碼格式bat文件,不會輸出亂碼;
如果直接雙擊UTF-8編碼格式bat文件運行,啟動的CMD窗口編碼仍為windows默認,仍然會輸出亂碼.
解決辦法是:
步驟1.運行CMD窗口 通過按住Shift+鼠標右鍵,啟動CMD窗口,
使用命令chcp 65001后,右鍵CMD窗口標題欄,
修改屬性里的字體和字體大小.
此時即使是雙擊UTF-8編碼格式bat文件也不會輸出亂碼了.