Windows下的CMD窗口默認是採用非UTF-8編碼的,有時候運行一些UTF-8編寫的批處理文件在控制檯中的輸出就是亂碼,windows
CHCP是MD DOS中的命令,用來顯示或設置活動代碼頁編號的。用法是:
CHCP [num]
其中num指定的是代碼頁的編號。這個參數是可選的,若是,在默認的cmd窗口中,咱們只輸入chcp,顯示的將相似:
活動的代碼頁: 936 字體
其中 936就是各類編碼語言的的編號.編碼
如下是幾種經常使用的編碼:
936 GBK(通常狀況下爲默認編碼)
437 美國英語
65001 utf-8.net
要設置CMD窗口編碼格式爲UTF-8:命令行
1.運行CMD
2.在命令行中輸入 chcp 65001 回車, 控制檯會切換到新的代碼頁. blog
3.在標題欄點擊右鍵, 打開屬性面板, 會看到」選項」標籤頁下方顯示」當前代碼頁」的編碼. 而後選擇」字體」標籤頁, 把字體設置爲Lucia Console, 而後肯定關閉.utf-8
若是要設置回默認編碼:
1.運行CMD ci
2.在命令行中輸入 chcp 936 回車, 控制檯會切換到新的代碼頁. get
3.這時該代碼頁的編碼已經換爲默認, 但能夠關閉後從新打開仍是其餘編碼,能夠在標題欄點擊右鍵, 打開屬性面板, 選擇」選項」標籤頁, 選中」丟棄舊的副本」多選項, 而後肯定關閉.cmd
以上內容轉載自:
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文件也不會輸出亂碼了.