zoukankan      html  css  js  c++  java
  • 命令提示符设置默认编码

    1. 问题描述

      由于Windows中文系统中,命令提示符默认的编码是 "简体中文 GBK",代码页编号为936。

       

      而开发常用的编码为UTF8,要操作的时候就得手动切换编码 chcp 65001 

      

     

      此时才能保证提示和输入不会乱码。

      但是这只是权宜之计,重启命令提示符后又会变成默认的GBK,需要有一个办法默认让命令提示符变成 UTF8编码。

      很多帖子都说改注册表里的一个项就可以:

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

      博主是直接安装的Windows10 1903 专业版,注册表内没有这个项,应该是微软取消了这个项。

      

      因为微软也想用性能给好,功能更强大的Power Shell替代命令提示符,所以在以后的版本会逐步替代掉命令提示符。但是博主用习惯了命令提示符,虽然也体验到了Power Shell的强大,还是用习惯了命令提示符,所以决心要改一下。

     

    2. 解决思路

      既然系统软件都是基于注册表保存的配置,那么命令提示符的配置也一定是基于注册表的。直接修改十六进制值是很麻烦的,所以不如从别处入手。可以在命令提示符中手动切换编码,难道不可以在注册表里,让命令提示符启动的时候自动修改命令提示符的编码么?

     

    3. 解决问题

      (1) 按 "win" + "r" 打开 "运行" ,输入 regedit 后点击确定,打开了 注册表编辑器。

      (2) 按照目录进入 HKEY_LOCAL_MACHINESOFTWAREMicrosoftCommand Processor  目录。

      (3) 在右边空白处右键,选择"新建"-"字符串值"。

        数值名称:autorun

        数值数据:chcp 936

      

     

      (4) 重新开启命令提示符,会直接显示 Active code page: 65001 说明已经自动修改为utf8编码了。

      (5) 为了适应部分程序可能是使用GBK编码,我们需要一个简单的办法一键修改默认编码。新建一个 .bat 批处理文件,在里面写入字符串。

    @reg add "HKEY_LOCAL_MACHINESOFTWAREMicrosoftCommand Processor" /v "autorun" /t REG_SZ /d "chcp 代码页编号" /f

      修改里面的汉字部分为其他编号,保存后用管理员身份运行就可以修改了。

     

    4. 其他资料

      (1) 主流代码页编号如下。

    chcp 437      英文
    chcp 932      日文
    chcp 936      简体中文
    chcp 950      繁体中文
    chcp 65001    UTF-8
  • 相关阅读:
    软工实践个人总结
    第02组 Beta版本演示
    第02组 Beta冲刺(5/5)
    第02组 Beta冲刺(4/5)
    第02组 Beta冲刺(3/5)
    第02组 Beta冲刺(2/5)
    第02组 Beta冲刺(1/5)
    第02组 Alpha事后诸葛亮
    第02组 Alpha冲刺(6/6)
    第02组 Alpha冲刺(5/6)
  • 原文地址:https://www.cnblogs.com/NyanKoSenSei/p/11464952.html
Copyright © 2011-2022 走看看