VSCODE C语言终端输出中文乱码编码分析设置和简单汇总

本文分析了VSCode在终端输出中文时出现乱码的问题,特别是C语言printf打印中文的情况。解决方案包括确保源代码和编译文件采用UTF-8编码,以及调整VSCode内外部终端的编码设置。同时,指出VSCode不支持GB等编码显示,并提醒避免在路径中使用中文以防止编译错误。

项目场景:

项目场景:1、VScode在终端输出中文时出现乱码
2、VScode C语言printf打印中文,终端输出乱码
3、外部终端和VScode内部终端的区别之处,以及可能出现的乱 码、无法编译等情况分析
4、VScode 的C程序中文包括注释都是乱码


# 问题描述:

1、2、乱码时的可能出现的状况例子图片:底下状态栏
同时也可能出现的编码:GB23112,GB18030等简体中文相关编码
乱码的
图片显示所输出的乱码中文
3、做例子的图片:
在这里插入图片描述在这里插入图片描述

4、
在这里插入图片描述


原因分析与解决方案:

1、VScode在终端输出中文时出现乱码
2、VScode C语言printf打印中文,终端输出乱码
3、外部终端和VScode内部终端的区别之处,以及可能出现的乱 码、无法编译等情况分析

1、上述图片所保存的C程序的代码文件或编译输出程序,文本编码为GBK,GB2312等简中编码。打开代码文件时,注意底下状态栏的文本编码类型。

VScode----内部终端----编译产生的文件exe等----源程序文件:这文本编码必须与VScode相对齐,都是UTF-8。通过状态栏中点击编码,出现通过编码保存选择utf-8再进行编译在终端中正常查看

VScode----外部终端CMD和powershell等----编译产生的文件exe等----源程序文件:若你需要在VScode外直接打开exe文件来查看程序运行状况,你的源程序文件必须改为GB等简中文本编码,之后再编译产生相应文件,才可以被外部终端所正常打开而不出现乱码(基于自己电脑CMD和POWERSHELL没有变动的情况下)。
底下状态栏
在这里插入图片描述
2、VScode弹出的终端(Terminal)窗口中,支持UTF-8编码的输出显示,不支持GB等编码的显示。

3、WIN10的CMD和power shell默认支持GBK,GB2312等简中编码的文字输出,可以修改成UTF-8编码,但个人不推荐。详细问题的探讨可以参考:https://www.zhihu.com/question/54724102/answer/1035566559也可以设置Windows10的默认编码为UTF-8,该设置还是Beta版,会出现很多问题,存在许多老软件还用GBK等编码作为主要文字编码,具体一些会出现的问题可以参考:https://zhuanlan.zhihu.com/p/153219931。

4、不同于devc++等一些软件,在VScode文件名和包含的工作区文件夹,和携带的路径中,不允许带有中文,否则编译会出现问题描述中3的情况或者终端栏中弹错等等。
外话:同时C盘的个人文件夹名(users)不允许是中文或者带空格,最好全英。估计出现的类似这种情况的可能性很小,有的话建议再创个电脑账户来过吧。

原因分析:VScode 的C程序中文包括注释都是乱码

5、一般来说,只要设置好这个,中文注释和输出函数中的显示基本没问题在这里插入图片描述
还可能会出现这种的问题的应该是操控这里这里:
点击状态栏下的文本编码后会出现:在这里插入图片描述
具体原因个人分析:在VScode是被文件文本编码后,进行编译了却无法正常在终端显示,只显示了乱码。或者某些操作出现乱码,例如:更改编码时,先使用通过编码重新打开了。但这样会导致文件可能出现乱码。
**无论如何,必须先通过编码保存后在进行其他操作比较稳妥,**否则会出现乱码。

个人查找和汇总:
针对power shell的编码设置:https://www.jianshu.com/p/cd3a7b196ab3
针对CMD的编码改动和设置:https://blog.youkuaiyun.com/tfs411082561/article/details/78416569#commentBox
runner code的资料相关(无需文本编码处理):https://blog.youkuaiyun.com/weixin_39886612/article/details/113629232

还有一些问题后面再总结补充!

评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值