让你的Windows 10 与国际接轨-变更编码方式为UTF-8

开启方式

微软在1803版本开始就添加了非Unicode应用使用 UTF-8 编码方式,建议充分了解后再选择开启与否。

控制面板开启路径

效果

开启之后记事本编码默认变成UTF-8,打开之前gbk编码下保存的txt会乱码。 Visual Studio 默认保存编码也会变成UTF-8。着实在跨平台方面方便了许多。

产生的问题及部分问题的解决方案

首先就是控制台中文乱码,我们用Visual Studio 生成的exe都会输出乱码,因为控制台还保留着原来GBK的编码方式。

解决方式

更改控制台编码为UTF-8(需要更改注册表)
win+R打开运行,输入regedit打开注册表编辑器,定位到

HKEY_CURRENT_USER\Console%SystemRoot%_System32_WindowsPowerShell_v1.0_powershell.exe

右边有个CodePage项,默认为
十进制的936(GBK ),将此项修改为十进制的65001(如果有cmd.exe可以一并更改)

如图所示

这样还顺带解决了新控制台输出中文乱码的BUG。

新的问题

由于更改了控制台的编码方式,之前在GBK(GB2312)格式下编写的所有exe都不能正确输出。比如程序d是我之前在GBK编码下生成的,可以看到不能正常输出


新的解决方式

临时更改控制台编码为GBK,命令为chcp 936

运行正常

未解决的问题

VS Code 下不能正常调试C++代码

编译成功但是不能调试
可以看到编译成功

一直卡在这里

用chcp更改为GBK后成功调试

不知道有没有人遇到过此问题或者有解决办法的,希望能留言帮忙。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。