广告位联系
返回顶部
分享到

vscode终端输出中文乱码问题解决图文教程

相关技巧 来源:互联网 作者:佚名 发布时间:2023-01-05 22:14:34 人浏览
摘要

解决vscode终端输出中文乱码问题,强推方法二,少走几年弯路 解决网上终端chcp65001仍然无效,或者vscode由utf-8改为GBK仍然无效的问题,提供了三个方案,c/c++设置通用 乱码原因 因windo

解决vscode终端输出中文乱码问题,强推方法二,少走几年弯路

解决网上终端chcp65001仍然无效,或者vscode由utf-8改为GBK仍然无效的问题,提供了三个方案,c/c++设置通用

乱码原因

因windows中文版系统cmd编码默认为GBK,而vscode默认新建文件的编码为UTF-8所以会出现中文乱码情况

方法一(永久性)

将系统默认编码改为UTF-8,该方法需确保你的vscode编码格式已为UTF-8(若之前未作修改默认为UTF-8,不确定也可以看界面右下角,若不是也可自行更改,方法二中有介绍vscode编码格式更改方法)

缺点:系统设置更改,可能导致某些软件乱码,例如之前在gbk模式下载的caj文献打不开,需重新下载

win键–设置–时间和语言–语言–管理语言设置–更改系统区域设置–勾选Beta版使用Unicode UTF-8提供全球语言支持

更改系统区域设置

勾选Beta版使用Unicode UTF-8提供全球语言支持

!!!更改系统设置时一定要重启电脑,否则会随机性报错,可能会出现设置改完了但没有生效的情况

重启电脑后我们发现再次进入系统cmd中输入chcp显示65001

此时更改成功,在vscode终端运行不会乱码

方法二(永久性)强力推荐!!!!!!!!!!!

方法2(永久性)

更改vscode默认编码UTF-8为GBK,(该法需确认系统编码环境为GBK格式,cmd终端输入chcp可以查看当前系统默认编译器,65001代表UTF-8,936代表GBK;设置完仍需重启vscode否则仍会出问题

缺点:博主电脑对于首字符为汉字的字符串显示仍乱吗,但对于字符中夹杂中文则不会乱码,而同门电脑则未遇到问题,博主未找到原因

!!!!!!!!!!!!!!!!!!!!!!!!!2022.11.24博主找到原因了,透透透,方法写在方法二末尾附加部分

1已经写好的程序文件,通过右下角更改:

保存为GBK格式

重新运行程序即解决乱码问题,

2新建文件时我们发现右下角又会变为utf8,因此还需修改默认新建文件和打开文件编码方式

将此处的utf8改为gbk,即可使新建的文件均为gbk格式

附加(CMD修改成旧控制台)

博主使用方法三没有出现中文乱码情况,但是cin输入中文时终端不显示,最后在修改系统终端的过程中解决了方法二输出字符串首字符为中文就报错的情况!!!(期间博主转用visual studio2012,无需设置任何编码格式,也无需配置编译环境,即使中文乱码修改控制台为旧控制台即可解决所有问题。确实比vscode简单,但是编译器太原始,写代码不舒服,还是回到了vscode,实在新手小白不愿意配置环境可以使用visual studio,想高效书写查看代码还是建议vscode)

如图,博主使用方法二,将vscode编码格式设为gbk,终端编码格式为默认值,仍为gbk,但是对于首字符为中文的字符串仍然乱码,而只要首字符非中文还是不会乱码的

解决方案

win+R输入cmd进入系统终端,记住是系统终端不是vscode的虚拟终端!

在终端上边框空白处右键进入“”属性“”(右键黑色处无效哦)

勾选启用旧版控制台,然后确认后关闭终端,重启vscode重新运行就OK了

可以看到,之前所有问题迎刃而解,中文不乱码,cin也能接受中文字符并显示

该法同样适用cout中文乱码,printf正常

方法三(临时性)

vscode仍默认编码保存编码方式UTF-8,在vscode终端输入chcp 65001手动调节虚拟终端编码为UTF-8(注:vscode启用的是虚拟终端,不会更改系统设置,即win+r再cmd进入的终端显示的活动代码不会改变)

缺点:因该法改变的是虚拟终端的编码格式为一次性,在重启vscode或者重新打开项目文件时需重新再vscode的虚拟终端输入chcp 65001

博主一开始用的是方法1没问题,后在查看知网caj文件时出现问题,转用同门推荐方法2,离奇的事出现了,他没问题,我就是乱码,后发现在我电脑上只要首字符非中文就不会乱码,最后博主使用了方法三亲测有效,但一定要注意把vscode的设置还原成默认的utf-8

博主在使用cin输入时又出现了中文不显示,最后通过修改系统CMD设置得以解决

未更改前中文乱码

vscode虚拟终端输入chcp 65001

显示激活65001,意思就是已将虚拟终端的编码格式设为UTF-8

此时run code不再乱码

如果之前尝试了其他方法调乱了不要着急:

cmd终端chcp可以查看当前系统默认编译器,65001代表UTF-8,936代表GBK;

vscode界面右小角会显示当前代码文件的编码格式

二者统一即可,均为GBK或均为UTF-8均可


版权声明 : 本文内容来源于互联网或用户自行发布贡献,该文观点仅代表原作者本人。本站仅提供信息存储空间服务和不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权, 违法违规的内容, 请发送邮件至2530232025#qq.cn(#换@)举报,一经查实,本站将立刻删除。
原文链接 : https://blog.csdn.net/qq_47683407/article/details/127726521
相关文章
  • ChatGPT会成为下一代搜索引擎之王吗?seo在哪里?

    ChatGPT会成为下一代搜索引擎之王吗?seo在哪里?
    ChatGPT 直接颠覆了 SEO行业,能直接为用户生成答案的 ChatGPT 可能很快就会取代谷歌成为下一代搜索引擎,再也没有什么提高网页排名,SEO 也
  • vscode终端输出中文乱码问题解决图文教程

    vscode终端输出中文乱码问题解决图文教程
    解决vscode终端输出中文乱码问题,强推方法二,少走几年弯路 解决网上终端chcp65001仍然无效,或者vscode由utf-8改为GBK仍然无效的问题,提供
  • ROS机器人底盘坐标像素变换操作方法

    ROS机器人底盘坐标像素变换操作方法
    对于ROS小车底盘地图数据需要知道的点 1.整幅地图处于第三象限 2.坐标值代表距离,单位米。 3.分辨率单位(米/像素) 因此通过地图坐标得
  • ROS  TF坐标变换基本概念及使用案例介绍

    ROS TF坐标变换基本概念及使用案例介绍
    TF(TransForm),就是坐标转换,包括了位置和姿态两个方面的变换,坐标变换是机器人学中的概念。 在机器人学中,无论一个机器人多么复杂,
  • 程序猿表白妹子的代码神器
    女生眼中的程序员,身上带着好多标签直男,宅,不懂浪漫,枯燥,但这是因为你还没有了解程序猿,程序猿也可以非常浪漫。 程序猿用代
  • Flutter Dart快速排序算法介绍
    在日常研发的过程中,我们无时无刻都在考虑自己开发的程序是否高效,一段好的程序执行离不开对算法的深刻认识和熟练掌握。接下来的
  • VSCode如何巧用正则表达式快速处理字符段

    VSCode如何巧用正则表达式快速处理字符段
    正则表达式 正则表达式(Regular Expression)是一种文本模式,包括普通字符(例如,a 到 z 之间的字母)和特殊字符(称为元字符)。 正则表达
  • s49 磁盘存储文件系统管理介绍

    s49 磁盘存储文件系统管理介绍
    第一部分 1、创建一个2G的文件系统 块大小为2048byte,预留1%可用空间,文件系统ext4,卷标为TEST,要求此分区开机后自动挂载至/test目录,且
  • kill一条TCP连接实现方法

    kill一条TCP连接实现方法
    如果你的程序写得有毛病,打开了很多TCP连接,但一直没有关闭,即常见的连接泄露场景,你可能想要在排查问题的过程中,先临时kill一波
  • CTF AWD入门学习手册

    CTF AWD入门学习手册
    AWD赛制是一种网络安全竞赛的赛制。AWD赛制由安全竞赛专家及行业专家凭借十多年实战经验,将真实网络安全防护设备设施加入抽象的网络
  • 本站所有内容来源于互联网或用户自行发布,本站仅提供信息存储空间服务,不拥有版权,不承担法律责任。如有侵犯您的权益,请您联系站长处理!
  • Copyright © 2017-2022 F11.CN All Rights Reserved. F11站长开发者网 版权所有 | 苏ICP备2022031554号-1 | 51LA统计