vscode 使用code runner 运行代码输出乱码

先指出问题所在:

代码文件使用的编码格式终端使用的编码格式不一致,查看代码文件右下角,会显示代码文件的编码格式。

测试代码如下:

#include<iostream>
using namespace std;
int main() {
    cout<<"你好!";
}

此时输出乱码:

请添加图片描述

查看右下角的代码文件编码格式,显示为 utf-8
请添加图片描述

终端输入chcp, 显示当前终端编码为 936,即为gbkutf-865001
请添加图片描述

可以点击文件右下角,通过编码保存,选择gbk保存;也可以在终端输入chcp 65001将终端编码改为utf-8。这里选择第二种,输入chcp 65001 则代码和终端编码都为utf-8

重新运行,正常输出:
请添加图片描述

但这种方式只是暂时的,如果终端重新打开,则又得重新改。可以在settings.json中配置终端信息。

点击扩张->设置->在settings.json中设置。

请添加图片描述

{}中输入以下代码

    // 设置终端的参数,编码格式等
    "terminal.integrated.profiles.windows": {
        "Command Prompt": {
            "path": "C:\\Windows\\System32\\cmd.exe",
            "args": ["-NoExit", "/K", "chcp 65001"]
        },
        "PowerShell": {
            "source": "PowerShell",
            "args": ["-NoExit", "/C", "chcp 65001"]
        }
    },
    "terminal.integrated.defaultProfile.windows": "PowerShell",   //使用PowerShell 或者Command Prompt作为终端

请添加图片描述

注意前后的,否则会影响其他设置。现在,每次打开终端都会设置编码为UTF-8

请添加图片描述

Logo

技术共进,成长同行——讯飞AI开发者社区

更多推荐