前情
最近在維護一些老項目,本地開發環境跑不起來,需要根據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
保存後,再雙擊該文件即可