window下cmd顯示亂碼

前情


最近在維護一些老項目,本地開發環境跑不起來,需要根據cmd中的報錯來解決一些環境問題

坑位


在解決環境錯誤的時候,cmd命令行日誌打印出來的是一堆亂碼,導致看不清具體是什麼錯誤

Why?


cmd行打印的日誌亂碼,很大可能是因爲cmd命令行窗口字符編碼不匹配導致

解決方案


方式1:命令行中執行:chcp 65001

chcp是一個計算機指令,能夠顯示或設置活動代碼頁編號

代碼頁 描述
65001 UTF-8代碼頁
950 繁體中文
936 簡體中文默認的GBK
437 MS-DOS 美國英語

但是這只是臨時方案,chcp只對當前窗體有效,窗體關閉或重開都會失效,每次都要重新切換

方式2:修改註冊表達到永久生效

window + r打開運行框,輸入regedit,進入註冊表,找到HKEY_CURRENT_USER\Console%SystemRoot%_system32_cmd.exe,新建一個 DWORD(32位值),命名爲CodePage,值設爲65001,已有CodePage的話,修改它,改爲十進制,65001

方式3:也是修改註冊表的方式,但是相比2要方便一些,新建一個後輟爲.reg的文件,通過記事本新建一個.txt文件,再修改後輟爲.reg,內容如下:

Windows Registry Editor Version 5.00 
[HKEY_CURRENT_USER\Console\%SystemRoot%_system32_cmd.exe] 
"CodePage"=dword:0000fde9 
"FontFamily"=dword:00000036 
"FontWeight"=dword:00000190 
"FaceName"="Consolas" 
"ScreenBufferSize"=dword:232900d2 
"WindowSize"=dword:002b00d2

保存後,再雙擊該文件即可

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章