visual studio控制台中文乱码问题

踩坑经历:

这是一个向文件中写入文字(中文,在将文件中文字读取出来的代码。读取出来的结果是符号码

这个问题在网上找了很多的解决办法,都没有完全解决。

其实要不出现乱码,就要保持控制台编码和源代码编码相一致就可以了,当然也不排除做了其他的操作。

第一步,查看自己本机的系统控制台编码:

在系统控制台上去查看当前代码页,win+r 输入 cmd,右击控制台上边框打开属性。

可以看到本机代码页是 936,记住这个代码页。

第二步,在 visual studio 控制台中以同样的方式查看代码页:

可以看到当前的调试控制台的代码页为 65001 也就是 UTF-8编码。 

这里出现了和系统控制台编码不一致的问题。

第三步,接下来检查 visual studio 对文件保存的编码格式:

可以看到文件保存的编码格式为 GB2313 (936,与系统控制台编码格式相同。

ps:如果没有这个高级保存选项可以在上边框工具中添加。

第四步,开始修改编码:

改少不改多,当然想全部改成 UTF-8 编码也可以,就是步骤多一点,下面图片 system32_cmd 就是操作系统的控制台。

选择修改 visual studio 的调试控制台。

win + r 输入 regedit ,打开注册表编辑器。

计算机\HKEY_CURRENT_USER\Console

打开这个目录,在里面找到与 visual studio 相关的选项,很好找到。

可以看到 CodePage 的十进制数值为 65001,双击打开,对其 十进制 数值进行修改,修改成系统控制台相同的代码页。

确定之后再去 vs 中测试代码。

中文正常显示。 

上面的方法修改起来有点麻烦,但后面就不需要有别的操作,当然也有别的方法,例如强行指定文件执行。

使用代码,指定程序执行时使用的编码和调试窗口编码一致,也可以解决乱码问题。

#pragma execution_character_set("UTF-8")

这里的UTF-8需要修改为调试控制台的编码(代码页)

PS:当然出现乱码的也可能是其他的原因,也可能是勾选了 Beta 版本,这个选项勾选也可能会出现乱码

最后如果编码一致,且这些方法都不行,可以尝试使用旧版控制台


补充:还是使用 UTF-8 文章来源地址https://uudwc.com/A/qRvR

原文地址:https://blog.csdn.net/xuan3215/article/details/128557157

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请联系站长进行投诉反馈,一经查实,立即删除!

h
上一篇 2023年06月13日 03:27
Windows 超级开源实用工具:Microsoft PowerToys
下一篇 2023年06月13日 03:27