編碼 - 設置 win10 下 cmd 編碼格式


  1. 概述

    1. cmd 編碼格式修改
    2. 僅僅是個 嘗試, 不建議 直接修改
  2. 背景

    1. 之前嘗試過修改 gitbash(mingw) 的 Character Set
    2. 這次嘗試修改一下 cmd 的編碼格式
  3. 准備

    1. os
      1. win10.1903

1. 查看 當前編碼

  1. 概述

    1. 查看當前 cmd 窗口的默認編碼
    2. 因為我沒有修改過, 所以這個應該也是 win10 下 cmd 的默認編碼
  2. 步驟

1. 打開 cmd

2. 查看當前編碼

  1. 命令

    # 大寫也行, 搞不懂
    > chcp
    活動代碼頁: 936
    
  2. 結果

    1. 936

      1. 什么鬼
    2. 常用編碼

      1. GBK
        1. 936
      2. UTF-8
        1. 65001

2. 修改 當前窗口 編碼格式

  1. 概述

    1. 修改 當前cmd 窗口的編碼
  2. 步驟

1. 打開 cmd

2. 修改當前編碼

  1. 命令

    > chcp 65001
    # 窗口重啟
    # 重啟后 第一行如下
    Active code page: 65001
    
  2. 結果

    1. 窗口重啟

    2. 第一行有提示編碼改變

    3. 輸入 chcp 查詢, 結果是 Active code page: 65001

      1. 居然都不用中文了
    4. 嘗試命令

      > dir
      # 結果
      # 1. 內容正常顯示
      
    5. 驚了, 字體都變了

      1. 字體變換
        1. gbk 的時候, 默認是 宋體
        2. 切換到 utf-8 的時候, 會換成 Lucida Console
      2. 為什么 字體會改變 呢?
        1. 因為 宋體 無法完全支持 utf-8 的所有符號
          1. 不換的話, 可能會出現亂碼
        2. 所以說, 換了個字體, 避免尷尬
  3. 問題: 修改只能管一個窗口

    1. 問題
      1. 我開個 別的 cmd 窗口, 編碼又 變回去gbk 了
      2. 有沒有辦法

3. 修改 所有窗口

  1. 概述

    1. 嘗試修改 所有窗口 的編碼
  2. 步驟

1. 注冊表編輯器

2. 找到 cmd 對應的 項

  1. 路徑

    計算機\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Command Processor
    

3. 添加 配置

  1. 右鍵單擊 Command Processor

    1. 彈出菜單
    2. 選擇 新建 > 字符串值
  2. 新建項

    1. 名稱

      1. autorun
    2. 內容

      chcp 65001
      
  3. 驗證

    1. 重新打開 cmd
      1. 打開成功
      2. 第一行提示 65001

ps

  1. ref

    1. windows cmd命令行如何恢復默認代碼頁936
      1. 簡單介紹了 常用編碼 的意義
    2. 如何修改cmd控制台默認編碼為utf-8
      1. 這個是 win10 的
      2. win7 版本的對我不適用, 我也沒法驗證, 所以就不貼出來了
  2. 后續

    1. 建議保持默認
      1. win 環境下, java 會帶有這么個 jvm 屬性
        1. sun.jnu.encoding = GBK
        2. 如果將 cmd 改成 utf-8, 並且不處理這個的話, 會導致 java 提示中的中文信息亂碼, 比如 jhat
        3. 而且其他信息是否會出現問題, 這個還不得而知
    2. 其實我更想知道 編碼顯示 的原理
      1. 以及一些問題出現的原因
      2. 順帶還有 解決方案...
    3. 最初希望理解的, 是 網絡傳輸 中, unicode 的相關內容
      1. 現在怎么感覺 越走越遠 了...


免責聲明!

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



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