问题:F5调试后出现如下
可以看到cmd的编码默认为936也就是gb2312。而我们vs code的保存格式为utf-8,所以在cmd控制台中用utf-8格式的编码会出现乱码问题。
解决方案
1.在cmd中或vscode控制台修改字符编码
chcp 可以查看当前控制台字符编码;
可以 用 chcp 65001修改编码,会显示如下信息表示修改成功,但是只在当前打开的情况下有用。下次打开又变成gbk了
这种方式在代码已经是utf-8的情况下可以修正乱码看到效果。
cmd控制台:
进入运行程序目录,运行程序。比如我的c程序在 D:\C++\workPosition\test.exe。进入cmd后。
D:\C++\workPosition>chcp 65001
D:\C++\workPosition>test.exe
就可以在字符编码为utf-8的情况下,将程序输出中文。
vs code控制台。
和cmd一样,不过只有2行
PS D:\C++\workPosition>chcp 65001
PS D:\C++\workPosition> .\test.exe
就可以再终端看到消息。
2.在vs code修改代码的打开和保存方式。
直接就将代码保存为gb2312。在vs code右下角可以看到当前文件编码方式,点击utf-8修改打开和保存方式为gb2312.使cmd格式和编码保存格式都一致,都使用GB2312.