VS2017控制台窗口输出中文时显示乱码问题修复

VS2017控制台窗口输出中文时显示乱码问题修复

原因分析

显示乱码的主要原因是因为中文在代码中的编码与控制台的编码不一致,比如代码文件的编码方式是GB2312(即GBK),而控制台编码是UTF-8时,输出中文就会产生乱码
![中文乱码utf8

问题解决

从网上搜了一些关于怎么解决乱码问题的帖子或者blog,主要有以下几种方式,各人情况不一样,可参考

方式1

  • 在VS2017扩展和更新中下载ForceUTF8的扩展(下载安装需要重启VS2017,之后查看该扩展是否启用,如果在设置中关闭自动更新拓展的话,还需要打开该选项,再重启VS),有带bom签名的和无bom的,个人喜欢utf-8无bom,因为全平台可用,不用转码
    utf8无bom

  • 之后在高级保存选项里,将文件保存为UTF-8无bom(65001),
    高级保存
    默认情况下vs2017中高级保存选项在菜单栏和工具栏的找不到的,所以首先将该选项找出来再进行操作,如下:

    • 在工具-》自定义中,选择命令标签栏,在菜单栏中选择编辑(个人习惯将高级保存选项放在编辑菜单)高级保存显示
    • 之后点击添加命令进入命令列表;在添加命令窗口,将类别列表拉到最底部,找到文件,点击后查看命令列表,拉到接近底部位置,找到高级保存选项,点击确定,之后关闭
      命令列表
    • 在菜单栏编辑中,即可看到高级保存选项,点击后即可进行编码设置
  • 此时,可以查看windows命令窗口-》属性窗口可以看到编码为UTF8,同时,代码文件的编码格式也为UTF8(65001),理论上编码一致后,重新编译程序即可正常显示。
    utf8

如果无法正常显示可以看看方式2,解决问题,我也是采用方式2的方式解决

方式2

  • 既然改成utf8无法正常显示,那么将编码都改为GB2312(即GBK)编码吧。
  • 在VS2017高级保存选项中,将编码改为简体中文GB2312,保存后重新编译
    GB2312
  • 打开windows命令窗口,选择默认值(是默认值,不是属性!),将默认代码页改为936 GBK,确定,关闭窗口控制台窗口
  • 重新打开windows命令窗口,右键属性是属性,不是默认值!),查看默认代码页,如果默认代码页也是936 简体中文的话,那么ok,修改成功,运行程序即可;
    2312
  • 如果修改了默认值后,默认代码页没有修改成功,还是之前的编码(我就是遇到了这种情况),那么就通过修改注册表的方式来手动修改为GBK的格式吧。
  • 通过regedit打开注册表,找到
HKEY_CURRENT_USER\Console\%SystemRoot%_system32_cmd.exe

注册表

  • 之后程序正常运行
    输出

方式2来源于该网友的blog:http://blog.csdn.net/dreamtdp/article/details/8025514,感谢

  • 6
    点赞
  • 34
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

居庆说数

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值