vscode (c/cpp)解决终端 无法输出中文/中文乱码的问题 2020最新最全。

博客作者花费数晚解决VSCode C++程序中文乱码问题,关键在于删除task.json中错误的GBK编码设置。删除该设置或改为UTF-8后,VSCode能正常显示中文。分享了影响编码的相关设置,包括区域设置、VSCode配置等。此外,还提供了两种方法确保输入输出中文的正确性,但无法同时实现F5运行和调试时的中文支持。
摘要由CSDN通过智能技术生成

11.1更新:task.json里关于编码的代码全部删除。其余默认设置,cpp文件utf8编码,vscode玄学地能输出中文了。

耗费三个晚上,终于解决问题(正常显示中文)。

此方法不会导致windows其他内容乱码
仅适用于设置UTF-8,可能对要设置GBK有参考价值

尝试了
更改区域设置、cmd和powershell编码等方法,均无效。

最后发现自己的task.json里有一句

"-fexec-charset=GBK", // 生成的程序使用GBK编码,不加这一条会导致Win下输出中文乱码

正是这一句导致了中文问题(当时选择的教程是用的GBK 吧??诶)

由于我的vscode的设置全都是UTF-8的,加了这一句GBK,怎么, 改都是GBK,也就无法在终端正常显示中文了

一定要注意自己的配置文件里关于编码的设置

删除这一句就行了,或者把GBK改成UTF-8(建议删除,防止以后改成GBK的时候又出要幺蛾子)

相信看到这篇文章的朋友们都已经了解了以下所有关于编码问题的设置方法

以下分享一下关于我电脑上可能影响vscode编码的相关设置

windows版本:
win10 家庭中文版1909

vscode版本:
版本: 1.50.0 (system setup)
提交: 93c2f0fbf16c5a4b10e4d5f89737d9c2c25488a3
日期: 2020-10-07T06:10:52.432Z
Electron: 9.2.1
Chrome: 83.0.4103.122
Node.js: 12.14.1
V8: 8.3.110.13-electron.0
OS: Windows_NT x64 10.0.18363

编译器:mingw64

1、区域设置(默认中国)
在这里插入图片描述

2、区域编码设置(默认)
在这里插入图片描述
3、cmd编码设置(默认)

4、PowerShell编码设置(默认)
在这里插入图片描述
以下设置打开方式:vscode左下角齿轮图标>>设置

5、Encoding设置(默认)
在这里插入图片描述
6、终端类型设置(默认)
在这里插入图片描述
7、终端cmd和shell设置(默认)
在这里插入图片描述
在这里插入图片描述

2020.10.14.18:00更新:
经长达4个小时的探索,
最终无法在按下F5运行cpp程序的时候既正常显示printf(“中文”);,
又能读入输入的中文并正常显示

输入输出中文的解决方法:(其他以上编码方式同上述步骤)
如果有源代码里的中文打印出来有乱码,请删掉重新写,保存
方法1、
01在vscode左下角编码位置->>通过编码保存,选择utf8
02在终端用命令行 chcp 936
03通过以下两行代码运行程序(文件名请自作调整)
g++ test.cpp -o test.exe
./test.exe
方法2、用Code Runner运行cpp代码
01在vscode左下角编码位置->>通过编码保存,选择gbk2312
02用code runner运行

缺点:无法通过打断点的方式debug

  • 34
    点赞
  • 55
    收藏
    觉得还不错? 一键收藏
  • 9
    评论
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值