关于Visual Studio 2019控制台输出中文出现乱码问题及解决办法
环境: Windows11 Visual studio 2019
中文输出出现乱码,分为2种情况
1、从.txt文件中读取输出出现乱码
- 结果如下图所示:
- 分析出现乱码的原因
首先我们先得知道windows下的中文是GBK编码,VS2019也是GBK编码,所以在windows里编程中文最好就是用GBK编码。
中文乱码的本质就是编码不匹配的问题,就好像明明是utf-8的编码你用GBK去理解当然是无法匹配的。
- 解决办法
我们知道原因就解决办法就显而易见了:将.txt文件utf-8的编码改为和VS2019一样的GBK编码
第一步:
第二步:
第三步:
第四步:
重新运行代码,进行测试
输出正确
2、从中文字符串中读取输出出现乱码
运行test.c文件出现乱码
char s[20] = "中文乱码问题";
printf("%s\n", s);
- 打开test.c文件所在位置
- 用右键选择用文本文件方式打开
- 与上面第一种操作相同,把编码改为GBK编码,请参考上面进行修改删除线格式
3、上传git时,gitee/github里出现乱码
解决这个问题,只需要下载一个插件并退出VS2019重新启动即可。
方法:打开扩展中的管理扩展,搜索:Force UTF-8(NO BOM)并进行安装即可。
总结:
前两种问题的解决方式可以有效的防止乱码,但是我觉得每一次都要手动修改很麻烦,除了这个方法我暂时没有找到更有效的方式,或许以后尽量使用VScode进行操作吧。