Q:在终端中显示时不会产生中文乱码,但是在命令窗口中会产生乱码问题
A:原因是编译器mingw64默认使用uft-8编码,而cmd窗口采用gbk来解析
M1:打开vscode左下角设置,找到files中的encoding修改utf-8为gbk
//个人使用此方法并没有得到解决,此处建议使用方法二。
M2:在tasks.cpp中进行修改,加入如下片段
"-fexec-charset=GBK", // 令mingw按GBK编码生成exe文件
"-finput-charset=UTF-8",// 令mingw按UTF-8编码处理(此参数可以不设置)
tasks.cpp内容如下
{
"version": "2.0.0",
"tasks": [
{
"type": "shell",
"label": "task g++",
"command": "D:\\mingw64\\bin\\g++.exe",//注意,是自己电脑中g++的路径
"args": [
"-g",
"-fexec-charset=GBK", // 令mingw按GBK编码生成exe文件
"-finput-charset=UTF-8",// 令mingw按UTF-8编码处理(此参数可以不设置)
"${file}",
"-o",
"${fileDirname}\\${fileBasenameNoExtension}.exe"
],
"options": {
"cwd": "${workspaceFolder}"
},
"problemMatcher": [
"$gcc"
],
"group": "build"
}
]
}