【C++】VS2019 中文输出乱码 以及 该文件不能在当前代码页(936)中表示的字符 的解决办法

文章目录


前言

今天在写 C++ 算法实验的时候遇到了

  • VS2019 控制台中文输出乱码
    中文乱码

  • 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失
    该文件包含不能在当前代码页(936)中表示的字符

等等问题,有关中文编码的,起初我查找网上的各种方法,包括

  • 修改控制台的编码字符集
  • 使用 Format on Save
  • 更改 高级保存选项

等等方法,发现都没有效果(指对我这个情况没有作用),困扰了我一晚上,其实后来我解决后发现前面的做法是有用处的,只是我的这个情况有点特殊,容我娓娓道来。

后来在安装和卸载扩展时,偶然发现在我的 VS2019 扩展中安装了一个奇怪的东西。

Force UTF-8 (No BOM)
这个 Force UTF-8 (No BOM),好家伙,原来是你的问题,怪不得我每次设置 UTF-8 with BOM 的编码格式(即 UTF-8 带签名)在 VS2019 中修改保存后,又会变成 UTF-8 (即 UTF-8 无签名),然后就导致乱码,无论怎么修改编码格式都没用,只要在 VS2019 中保存一下就会强制变成 UTF-8 无签名 的编码格式。

解决方案

于是我卸载了这个扩展。

卸载扩展
再次改成 UTF-8 with BOM 的编码格式(可以通过 VS2019 里的 高级保存选项 更改或者通过 记事本另存为 来更改编码格式),然后运行,发现可以成功显示中文,不再乱码,在 VS2019 中修改保存后也不会出问题了。

不再乱码
至此,困扰了我一晚上的问题终于解决了,可能是我之前为了解决某个问题在网上查询后安装了这个扩展,然后一直就没注意了,到现在才发现这个问题,希望大家在解决一些问题用网上的一些解决方法的时候一定要弄清楚原理和其影响,不要只顾着复制粘贴或者按部就班的进行,一定要边做边想,不然也会容易导致以后出现一些奇奇怪怪的问题。

结语

非常感谢大家的阅读,欢迎在评论区留言讨论!

  • 7
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 7
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

SuasyYi

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

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

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

打赏作者

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

抵扣说明:

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

余额充值