vscode终端中文乱码问题的解决方案合集c++

  • 解决思路:
  • 解决方法:
    • 1.修改系统区域设置
    • 2.修改编辑器默认编码
    • 3.改变vscode终端编码
    • 4.修改vscode终端默认编码
    • 6.修改tasks.json

解决思路:

乱码的出现一般是由于编码错误。在编辑器上正确显示的中文字符,却在终端编译出现乱码,这一般是因为vscode编辑器默认编码utf-8,而终端使用了gbk编码。总之出现乱码基本就是编码没对。另外这些方法一般是在vscode集成的终端中进行调试的。(但实际上我是真的分不清那些是integrated那些是 external,反正就是在那个地方,集成在vscode上而不是额外的命令控制台窗口)

解决方法:

1.修改系统区域设置

这应该是最容易搜索到的方法。在win10系统下使用组合win+r输入control打开控制面板,依次选择时钟和区划–区域–管理–更改系统区域设置,勾选 “Beta 版:使用…” ,最后根据提示重新启动。

这个方法弊端很明显,这样修改原来使用gbk编码的文件打开就会乱码,某些游戏打字也会出现错误。

参考:https://blog.csdn.net/weixin_40040107/article/details/103721554

2.修改编辑器默认编码

这是第二种容易找到的方法。主要是将vscode编辑器的文字编码改为gbk。点击编辑器右下的UTF-8,再找到顶部搜索栏通过编码重新打开,选择 Simplified Cninese(GB 2312) 编码。

参考:https://blog.csdn.net/qq_39400113/article/details/107908848

当然也可以修改编辑器默认编码为gbk,参考下面这篇文章的第二种方法。

参考:https://blog.csdn.net/weixin_43745075/article/details/106291285

又或者你从其它地方找来的代码编码为UTF-8,那你可以试试vscode的GBKtoUTF8插件

参考:https://blog.csdn.net/sinat_27985193/article/details/105228725

3.改变vscode终端编码

在vscode终端 输入chcp 可以查看当前编码,一般powershell为UTF-8,cmd为gbk。
接着输入 chcp 65001 ,将编码改为UTF-8(因为代码为UTF-8编码)。之后就可以运行编译,链接成功的.exe文件。虽然是一次性的。

参考:https://blog.csdn.net/weixin_43745075/article/details/106291285

实际在编译成功后"shift+ctrl+c"可以唤出默认配置的终端,默认是powershell。那么按照相似的操作也可以运行程序。
ps:输入cls可以清屏,这一点cmd和powershell是一致的。

4.修改vscode终端默认编码

这个方法运行调试时在集成终端运行。代码的内容主要是修改了集成终端的编码格式。
在vscode中依次打开 文件 首选项 设置 在 setting.json 中编辑。
之后将以下代码粘贴并保存。

"terminal.integrated.profiles.windows": {"PowerShell": {"source": "PowerShell", //一般推荐使用powershell"overrideName": true,"args": ["-NoExit", "/c", "chcp 65001"],"icon": "terminal-powershell","env": {"TEST_VAR": "value"}}},"terminal.integrated.defaultProfile.windows": "PowerShell",

所有setting.json都是一样的,实际也只有一个setting.json。在vscode中要还原默认设置只需要删除setting.json中的内容
参考:https://blog.csdn.net/lzyws739307453/article/details/89823900

注意 如果你需要使用 tasks.json ,而且里面需要用到 “type”: “shell” ,会在终端显示这个 参数格式不正确 - -Command。我的方法是直接注释掉这一行。

参考:https://www.zhihu.com/question/318656467具体参见这个问题里"树影"答主的回答。

5.修改注册表
这个方法就比较偏了,但是能解决另一种情况。

推荐vscode C++环境配置博客 https://www.cnblogs.com/baihualiaoluan/p/10661669.html

首先如果你配置c++环境的时候是按照如上链接类似方法配置的,并且在laouch.json中有如下代码

   "externalConsole":true,//修改此项,让其弹出终端

那么这个弹出的命令控制台的编码无法通过以上3,4方法改变,改cmd的注册表也不行(方法1确实可以,毕竟是全局影响)。

这时候先编译好.cpp文件, 找到对应.exe文件目录并复制 ,之后使用 win+r 组合键输入 regedit 进入注册表,打开
计算机\HKEY_CURRENT_USER\Console 目录,新增 项 x:_文件路径_执行文件名.exe,新建DWORD(32位),参数65001(在十进制下)。


这时候UTF-8的代码就可以正确运行了。

ps:另外如果要修改cmd的默认编码,一般搜索到的结果都是让添加autorun。其实可以在计算机\HKEY_CURRENT_USER\Console目录下直接新建%SystemRoot%_system32_cmd.exe项,并以相同的方式新建CodePage,来修改默认编码。这种方式的区别在于的确是默认编码,而不是自动执行命令。

参考:https://blog.csdn.net/seraph0321/article/details/86411453

6.修改tasks.json

与第5种方法情况一样,但这种方法只需要在tasks.json的args项下添加一行"-fexec-charset=gbk"即可

   "args": ["-fexec-charset=gbk","-g","${file}","-o","${fileDirname}\\${fileBasenameNoExtension}.exe"],


这个时候,虽然我的代码是UTF-8,弹出的命令提示窗口任是GBK编码,但任然正确输出了。~真正的高效,优雅。

参考:https://blog.csdn.net/weixin_43802844/article/details/111170738

vscode终端中文乱码问题的解决方案合集c++相关推荐

  1. 解决VSCode终端中文乱码问题

    VSCode终端其实调用的是cmd.exe,所以当这里出现中文乱码的时候要解决的是cmd的编码设置问题. 可以通过chcp命令查看cmd的编码设置,GBK2312的代码页编号是936,然后改成utf- ...

  2. 解决vscode输出中文乱码问题

    原因:输入编码和Windows系统输出编码方式不同. 查看vscode编码方式: 可以看到vscode中的默认编码方式是UTF-8. 接下来通过cmd下的chcp命令查看系统的默认编码方式: 936代 ...

  3. win下解决vscode powershell中文乱码

    win下解决vscode powershell中文乱码 最近遇到一个问题,是在用vscode写C语言时候,使用vscode终端编译器gcc编译c语言时,打印出来的中文成乱码.刚开始以为是文件类型有问题 ...

  4. Mysql 中文乱码问题完美解决方案

    Mysql 中文乱码问题完美解决方案 参考文章: (1)Mysql 中文乱码问题完美解决方案 (2)https://www.cnblogs.com/fangyh/p/6286699.html 备忘一下 ...

  5. RStudio中,出现中文乱码问题的解决方案

    RStudio中,出现中文乱码问题的解决方案 参考文章: (1)RStudio中,出现中文乱码问题的解决方案 (2)https://www.cnblogs.com/nxld/p/6098987.htm ...

  6. JSP中文乱码问题终极解决方案(转)

    JSP中文乱码问题终极解决方案 http://www.cnblogs.com/beijiguangyong/archive/2012/03/31/2437124.html 在介绍方法之前我们首先应该清 ...

  7. Xshell连接服务器出现(To escape to local shell, press 'Ctrl+Alt+]'.)问题、xshell终端中文乱码完全解决方法

    Xshell出现这种问题: 第一种解决方法: Xshell连接Linux服务器后如上图所示,无法进行任何操作.直接在Xshell中将原有连接信息删除重新添加一次即可. 第二种,修改ssh配置文件,用c ...

  8. vim、gvim在windows下中文乱码的终极解决方案

    From: http://www.liuhuadong.com/archives/68/index.html vim.gvim在windows下中文乱码的终极解决方案 在windows下vim的中文字 ...

  9. ajax 传输中文乱码,关于Ajax请求中传输中文乱码问题的解决方案

    今天遇到一个问题,有关ajax 请求中传输中文,遇到乱码的问题. 如下代码: function UpdateFolderInfoByCustId(folderId, folderName, custI ...

  10. python读取us7ascii字符集Oracle数据库中文乱码问题的解决方案

    python读取us7ascii字符集Oracle数据库中文乱码问题的解决方案 参考文章: (1)python读取us7ascii字符集Oracle数据库中文乱码问题的解决方案 (2)https:// ...

最新文章

  1. Nimbus/Supervisor本地目录结构
  2. numpy是这样操作的
  3. setup hadoop 1.2.1 on Mac
  4. java主键可以包含多列吗,SQLite主键在多列上
  5. Java实现几种常见排序方法
  6. 计算机系统唯一能识别的不需要翻译,计算机习题答案及解析ban.doc
  7. reactive stream协议详解
  8. Flink(55):Flink高级特性之流式文件写入(Streaming File Sink)
  9. 操作ADS1115进行4个通道AD值的读取
  10. 用python计算圆柱体积
  11. 如何改typecho主题头像_细节决定成败,抖音昵称、头像、简介、视频封面的重要性...
  12. Error: Converting circular structure to JSON解决方法
  13. 有激励果效的座右铭大全
  14. L1-020 帅到没朋友
  15. 计算机网络及多媒体知识,计算机基础知识:多媒体的基本概念及关键技术
  16. Linux网络编程中EAGAIN错误和EINTR错误
  17. 什么是基础设施建设?
  18. Linux -- ls、dir、vdir
  19. unp第一章的测试代码
  20. 修复计算机管理员账户密码多少,win10管理员账户密码忘记了图文解决教程

热门文章

  1. 吃鸡服务器维护公告10月19日,绝地求生10月30日维护公告更新内容 今天吃鸡几点开服时间...
  2. flowable设计器节点属性扩展_gooflow设计器API说明书
  3. PostgreSQL与MySQL语法对比总结
  4. 5行代码识别各种验证码
  5. [Java]利用itextpdf将多个多页的PDF合并为一个
  6. SBUS协议数据演示
  7. 打车软件系统分析与设计方案
  8. 广数系统加工中心编程_数控加工中心编程技巧一文通
  9. windows下mysql忘记密码重置
  10. BiLSTM-CRF模型理解