被vs code的c/c++的控制台中文乱码困扰了好久,一些找到的方法根本不适合我的情况,然后好不容易才找到可以的方法。其实也就是配置两个地方。
首先c语言的运行程序是调用的cmd.exe而window的cmd的编码默认为936也就是gb2312。运行->cmd->在白色窗口头部点击右键->属性 可以查看到,主要现在用utf-8较多,所以用utf-8编码的c程序出现了乱码。
一,在cmd中或vscode控制台修改字符编码
chcp 可以查看当前控制台字符编码;
可以 用 chcp 65001修改编码,会显示如下信息表示修改成功,但是只在当前打开的情况下有用。下次打开又变成gbk了
这种方式在代码已经是utf-8的情况下可以修正乱码看到效果。
-
cmd控制台:
进入运行程序目录,运行程序。比如我的c程序在 d:/c/a.exe。进入cmd后。
d:
cd c
chcp 65001
a.exe
就可以在字符编码为utf-8的情况下,将程序输出中文。 -
vs code控制台。
和cmd一样,不过只有2行
chcp 65001
.\a.exe
就可以再终端看到消息。
二,在vs code修改代码的打开和保存方式。
直接就将代码保存为gb2312。再vs code右下角点击utf-8修改打开和保存方式为gb2312.