-
概述
- cmd 編碼格式修改
- 僅僅是個 嘗試, 不建議 直接修改
-
背景
- 之前嘗試過修改 gitbash(mingw) 的 Character Set
- 這次嘗試修改一下 cmd 的編碼格式
-
准備
- os
- win10.1903
- os
1. 查看 當前編碼
-
概述
- 查看當前 cmd 窗口的默認編碼
- 因為我沒有修改過, 所以這個應該也是 win10 下 cmd 的默認編碼
-
步驟
1. 打開 cmd
- 略
2. 查看當前編碼
-
命令
# 大寫也行, 搞不懂 > chcp 活動代碼頁: 936
-
結果
-
936
- 什么鬼
-
常用編碼
- GBK
- 936
- UTF-8
- 65001
- GBK
-
2. 修改 當前窗口 編碼格式
-
概述
- 修改 當前cmd 窗口的編碼
-
步驟
1. 打開 cmd
- 略
2. 修改當前編碼
-
命令
> chcp 65001 # 窗口重啟 # 重啟后 第一行如下 Active code page: 65001
-
結果
-
窗口重啟
-
第一行有提示編碼改變
-
輸入 chcp 查詢, 結果是
Active code page: 65001
- 居然都不用中文了
-
嘗試命令
> dir # 結果 # 1. 內容正常顯示
-
驚了, 字體都變了
- 字體變換
- gbk 的時候, 默認是 宋體
- 切換到 utf-8 的時候, 會換成 Lucida Console
- 為什么 字體會改變 呢?
- 因為 宋體 無法完全支持 utf-8 的所有符號
- 不換的話, 可能會出現亂碼
- 所以說, 換了個字體, 避免尷尬
- 因為 宋體 無法完全支持 utf-8 的所有符號
- 字體變換
-
-
問題: 修改只能管一個窗口
- 問題
- 我開個 別的 cmd 窗口, 編碼又 變回去gbk 了
- 有沒有辦法
- 問題
3. 修改 所有窗口
-
概述
- 嘗試修改 所有窗口 的編碼
-
步驟
1. 注冊表編輯器
- 略
2. 找到 cmd 對應的 項
-
路徑
計算機\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Command Processor
3. 添加 配置
-
右鍵單擊 Command Processor
- 彈出菜單
- 選擇
新建 > 字符串值
-
新建項
-
名稱
- autorun
-
內容
chcp 65001
-
-
驗證
- 重新打開 cmd
- 打開成功
- 第一行提示 65001
- 重新打開 cmd
ps
-
ref
- windows cmd命令行如何恢復默認代碼頁936
- 簡單介紹了 常用編碼 的意義
- 如何修改cmd控制台默認編碼為utf-8
- 這個是 win10 的
- win7 版本的對我不適用, 我也沒法驗證, 所以就不貼出來了
- windows cmd命令行如何恢復默認代碼頁936
-
后續
- 建議保持默認
- win 環境下, java 會帶有這么個 jvm 屬性
- sun.jnu.encoding = GBK
- 如果將 cmd 改成 utf-8, 並且不處理這個的話, 會導致 java 提示中的中文信息亂碼, 比如 jhat
- 而且其他信息是否會出現問題, 這個還不得而知
- win 環境下, java 會帶有這么個 jvm 屬性
- 其實我更想知道 編碼顯示 的原理
- 以及一些問題出現的原因
- 順帶還有 解決方案...
- 最初希望理解的, 是 網絡傳輸 中, unicode 的相關內容
- 現在怎么感覺 越走越遠 了...
- 建議保持默認