Vscode C++ 中文乱码

Vscode C++ 中文乱码

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

项目场景:

项目场景:VScode在终端输出中文时出现乱码


问题描述:

最近学习用vscode写C语言时会遇到中文输出到终端会出现乱码的情况。


原因分析:

经查询得知vscode终端调用的是cmd.exe,cmd默认编码为GBK,vscode默认使用UTF-8编码,所以二者冲突发生乱码,我查询了很久,有很多种方法,有每次修改c语言文件编码格式,有修改环境变量的,有修改注册表的等等。但是很多作者发出警告,修改系统cmd默认编码格式会可能出现蓝屏情况,所以我均没有采用,然后我在vscode设置里发现可以对单独一种语言配置默认的编码格式。


解决方案:

点击左下角齿轮标志,点击设置,点击如下图箭头指标志,打开setting.json文件。

Vscode C++ 中文乱码

然后在json文件中,加入下列代码

   "[cpp]": {
        "files.encoding": "gbk"
    },
    "[c]": {
        "files.encoding": "gbk"
    }

这段话意思是针对C/C++文件默认分配GBK编码,不影响其他语言文件编码,这样每次新建C/C++文件默认分配GBK编码,无需每次切换,且与终端编码保持一致,且不会干扰系统cmd设置。配置其他语言,修改方括号内参数(语言文件后缀)即可。

C / C++

Visual Studio Code

我设置了settings.json里的files.autoGuessEncoding:true也不行,将cmd的编码改为utf-8也不行,终端输出中文…

关注者

15

被浏览

112,590

登录后你可以

不限量看优质回答私信答主深度交流精彩内容一键收藏

查看全部 5 个回答

Vscode C++ 中文乱码

惰惰猴

Vscode C++ 中文乱码

油腻网络工程师、DevNet人才、老年电脑爱好者、军迷

谢邀,

能否说一下自己的操作系统环境。如果是windows的话。一般是编码问题引起的,VSCode默认编码就是UTF-8,如果还有中文乱码,改成GB2312就可以了。

具体操作步骤为:打开VSCode,文件-首选项—设置,在搜索栏目里搜索encoding,然后在Files;Encoding:选择下拉列表里的gb2312即可.

Vscode C++ 中文乱码

编辑于 2020-05-25 14:35

查看全部 5 个回答

Vscode C++ 中文乱码

  • 博客园
  • 首页
  • 新随笔
  • 联系
  • 订阅
  • 管理

解决VS code C/C++的中文乱码及汉化问题

1.中文乱码

 在tasks.json文件中的"args":中加入"-fexec-charset=GBK"就能解决中文输出的乱码问题。

Vscode C++ 中文乱码

2.编辑器汉化

先点击左边的按钮,然后在搜索框中输入chinese,安装中文简体汉化版,图中是安装好后的中文效果。

Vscode C++ 中文乱码

posted @ 2021-07-06 16:02  wancy  阅读(527)  评论(0)  编辑  收藏  举报

刷新评论刷新页面返回顶部

Copyright © 2022 wancy
Powered by .NET 7.0 on Kubernetes

当我们第一次用Vscode编写C++或C代码时候会发现控制台输出的中文汉字却是乱码,如下图:

Vscode C++ 中文乱码

这是因为我们的控制台编码是GBK编码。C/C++语言的运行程序是调用的cmd.exe,而window的cmd的编码默认为936也就是GB2312。运行—>cmd—>在白色窗口头部点击右键—>属性 可以查看到。
Vscode C++ 中文乱码

但是我们的 . cpp 文件确是UTF8编码。
Vscode C++ 中文乱码

那当然会出现乱码了啊,你的 .cpp 文件是UTF8编码但是你的控制台确是GBK编码,现在我们只需要把UTF8编码改成GBK编码。

方法:点击 右下角的UTF-8—>Reopen with Encoding—>选择Simplified chinese(GBK)就可以了。

Vscode C++ 中文乱码

Vscode C++ 中文乱码

这时你会发现你的.cpp文件中的中文汉字变成了乱码,这时因为你从刚刚的UTF-8转成了GBK,只需要重新把汉字输入一遍就可以了。
Vscode C++ 中文乱码

文章来源: blog.csdn.net,作者:果果小师弟,版权归原作者所有,如需转载,请联系作者。

原文链接:blog.csdn.net/qq_39400113/article/details/107908848

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件至:进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容。

在编程中一直会存在各种各样的关于中文的问题,今天要解决的就是在vscode内的中文输出乱码问题

本文使用的C语言环境配置源自于 知乎回答:Visual Studio Code 如何编写运行 C、C++ 程序? 感谢大佬

乱码示例

Vscode C++ 中文乱码

1. 首要设置——修改文字编码

1.在右下角找到这个编码设置,单击

Vscode C++ 中文乱码

2.选择通过编码重新打开

Vscode C++ 中文乱码

3.输入gbk,然后单击

Vscode C++ 中文乱码

4.然后会看到原来的中文成为了乱码,这时重新输入即可

Vscode C++ 中文乱码

5.成果

Vscode C++ 中文乱码

2. 将所有的.c/.h文件设置为使用GBK编码打开

打开全局设置,Ctrl+Shift+P,搜索setting,打开下图示意的选项

Vscode C++ 中文乱码

复制下面的这一段代码,扔到大括号里面

记得在上一行的结尾(忽略注释)加上英文逗号,具体参考JSON格式的资料(百度是个好东西)

"[c]": {
    "files.encoding": "gbk"//对c语言文件格式进行编码设置
},
"[h]": {
    "files.encoding": "gbk"//对c语言头文件格式进行编码设置
}

Vscode C++ 中文乱码

保存,重启vscode,之后所有的c文件和h头文件都会以GBK的编码打开

3. 屏蔽clang对非utf编码的警告

细心的会发现每次编译的时候都会有个警告

Vscode C++ 中文乱码

解决方案(比较粗暴的解决方案):

复制下面的代码到tasks.json的”args“(编译参数)里面

同样要记住加逗号

"-Wno-invalid-source-encoding" //屏蔽关于GBK编码的警告

Vscode C++ 中文乱码

然后就可以啦

Q.E.D.