visual studio vode C++代码运行 为什么窗口里的是乱码 但终端里是正确的 怎么样解决窗口的乱码呢 在不在设置里更换encoding的情况下

visual studio vode C++代码运行 为什么窗口里的是乱码 但终端里是正确的 怎么样解决窗口的乱码呢 在不在设置里更换encoding的情况下

img

img

对于windows, 这是一个底层问题, 因为终端默认编码是GBK, 以下代码强制终端输出编码转换, 只保证输出正确, 输入不能保证.

#include <stdio.h>
#include <windows.h>

int main()
{
    SetConsoleOutputCP(65001); // 务必保证编码为utf-8
    printf("我拒绝了");
}

两个使用的编码不一样,你在vscode右下边 编码那里打开一下 reopen 使用指定编码打开 win 上cmd 默认编码是 gb2312的,你把vscode 也用这个编码打开文件就行了

修改一下cmd的编码方式
https://www.jianshu.com/p/f40e494dc01d