命令提示符設置默認編碼


1. 問題描述

  由於Windows中文系統中,命令提示符默認的編碼是 "簡體中文 GBK",代碼頁編號為936。

   

  而開發常用的編碼為UTF8,要操作的時候就得手動切換編碼 chcp 65001 

  

 

  此時才能保證提示和輸入不會亂碼。

  但是這只是權宜之計,重啟命令提示符后又會變成默認的GBK,需要有一個辦法默認讓命令提示符變成 UTF8編碼。

  很多帖子都說改注冊表里的一個項就可以:

  HKEY_CURRENT_USER\Console\%SystemRoot%_system32_cmd.exe
  修改"CodePage"=dword:0000FDE9

  博主是直接安裝的Windows10 1903 專業版,注冊表內沒有這個項,應該是微軟取消了這個項。

  

  因為微軟也想用性能給好,功能更強大的Power Shell替代命令提示符,所以在以后的版本會逐步替代掉命令提示符。但是博主用習慣了命令提示符,雖然也體驗到了Power Shell的強大,還是用習慣了命令提示符,所以決心要改一下。

 

2. 解決思路

  既然系統軟件都是基於注冊表保存的配置,那么命令提示符的配置也一定是基於注冊表的。直接修改十六進制值是很麻煩的,所以不如從別處入手。可以在命令提示符中手動切換編碼,難道不可以在注冊表里,讓命令提示符啟動的時候自動修改命令提示符的編碼么?

 

3. 解決問題

  (1) 按 "win" + "r" 打開 "運行" ,輸入 regedit 后點擊確定,打開了 注冊表編輯器。

  (2) 按照目錄進入 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Command Processor  目錄。

  (3) 在右邊空白處右鍵,選擇"新建"-"字符串值"。

    數值名稱:autorun

    數值數據:chcp 936

  

 

  (4) 重新開啟命令提示符,會直接顯示 Active code page: 65001 說明已經自動修改為utf8編碼了。

  (5) 為了適應部分程序可能是使用GBK編碼,我們需要一個簡單的辦法一鍵修改默認編碼。新建一個 .bat 批處理文件,在里面寫入字符串。

@reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Command Processor" /v "autorun" /t REG_SZ /d "chcp 代碼頁編號" /f

  修改里面的漢字部分為其他編號,保存后用管理員身份運行就可以修改了。

 

4. 其他資料

  (1) 主流代碼頁編號如下。

chcp 437      英文
chcp 932      日文
chcp 936      簡體中文
chcp 950      繁體中文
chcp 65001    UTF-8


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM