vscode中Code Runner设置为终端输出c语言中文乱码的问题解决方法

本文介绍了如何解决在Visual Studio Code中使用CodeRunner插件运行C语言代码时,输出中文出现乱码的问题。问题根源在于PowerShell的GBK编码与UTF-8编码冲突。解决方案包括将终端改为CMD并修改注册表设置CMD编码为UTF-8。通过这两步,成功解决了VSCode中的乱码问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


前言

在使用vscode进行C语言编程过程中,使用Code Runner插件运行代码,但是在设置为终端中运行后,输出中文始终为乱码。
设置在这里插入图片描述

一、问题原因

因为windows的powershell终端默认是GBK编码的,而程序代码是utf-8格式的,输出中文是utf-8格式,所以在终端中显示乱码。

在这里插入图片描述

二、解决办法

第一步.将终端由powershell改为cmd

1.进入Code Runner扩展设置

在这里插入图片描述

2.将如图所示的行改为以下

在这里插入图片描述

"terminal.integrated.shell.windows": "C:\\WINDOWS\\System32\\cmd.exe",

第二步.在注册表中更改cmd终端页面字符编码

1.在运行中输入"regedit",找到HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Command Processor

在这里插入图片描述

2.右键-新建,选择“字符串值”,“名称”列填写“autorun”, 数值数据填写“chcp 65001”,然后确定即可。

  1. cmd字符编码更改完成!
    在这里插入图片描述

3.在vscode中输出中文,发现不再乱码

1

总结

这个乱码问题从装上vscode后一直就有,百度了也没有好的解决方法,这次总算是解决了。

最后,如果成功解决了你们的问题,请点赞!!!

当你在Visual Studio Code (VSCode) 中尝试使用插件如`Code Runner`运行TypeScript (.ts) 文件时,如果遇到乱码问题,可能是由于编码设置不匹配导致的。解决这个问题的步骤通常包括以下几个方面: 1. **检查文件编码**:确保你的 TypeScript 文件是以正确的字符集(例如 UTF-8)保存的。你可以通过文件菜单 -> 选择“编码”选项检查并更改文件编码。 2. **设置终端编码**:打开 VSCode 的用户或工作区配置文件(`.vscode/settings.json`),找到 `terminal.integrated.shellArgs` 或 `terminal.integrated.shell.windows` 配置项,添加 `-encoding` 参数指定终端的默认编码,比如 `"utf-8"`。 ```json "terminal.integrated.shellArgs": ["-enc", "UTF-8"] ``` 3. **配置Code Runner插件**:在 `.vscode\extensions\ms-vscode.codelens-1.6.0\configurations.json` (如果你安装了 Code Lens 扩展)或 `~/.config/coderunner/coderunner.json` (如果没有安装)里,确认你的运行配置也设置了正确的编码。例如: ```json { "type": "shell", "args": ["node", "-e", "your-ts-file"], "options": { "cwd": "${workspaceFolder}", "encoding": "utf-8" } } ``` 4. **重启VSCode**:有时只是简单地关闭再打开编辑器就能解决问题。 5. **检查终端环境变量**:确保系统环境变量 `LANG` 或 `LC_ALL` 设定为支持中文的编码,如 `en_US.UTF-8`。 如果以上步骤都无法解决,试着在终端直接运行命令行(如 Node.js)看是否会出现同样的问题,以便排查是否是外部工具或环境的问题
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值