vscode解决终端输出乱码的问题

问题:vscode中,基于CMakeTools编译c++的代码过程中,会出现菱形乱码,如下图所示:

1.将vscode中的默认终端改为PowerShell

ctrl+shift+P打开设置,在搜索中输入 terminal.integrated.default profile.windows ,将windows上的默认终端配置文件,修改为PowerShell,如下图所示:

2.将PowerShell的编码修改为UTF-8

PowerShell的编码默认为GBK,打开PowerShell的终端,输入 Console::OutputEncoding

如果 CodePage 显示 936:说明当前是 GBK 编码

如果 CodePage 显示 65001:说明当前是 UTF-8 编码

将该编码临时修改为UTF8,在PowerShell中输入,

cpp 复制代码
[Console]::OutputEncoding = [System.Text.Encoding]::UTF8

检查配置文件是否存在:

cpp 复制代码
Test-Path $PROFILE

返回 True:文件存在;返回 False:文件不存在

若不存在,则创建配置文件

cpp 复制代码
New-Item -Path $PROFILE -Type File -Force

用记事本或者notepad++打开该文件,输入内容:

cpp 复制代码
# 设置输出编码为 UTF-8
[Console]::OutputEncoding = [System.Text.Encoding]::UTF8
# 设置输入编码为 UTF-8 
[Console]::InputEncoding = [System.Text.Encoding]::UTF8

然后在vscode的下方的终端,输入Console::OutputEncoding,进行测试:

3.vscode中关于encoding的两个地方的设置:

files.encoding 我设置为UTF-8

Cmake.Output Log Encoding 我设置为gbk

我看网上的设置,都是将Cmake OutputLogEncoding设置为utf8,但是我这样改了之后,编译过程中的警告全部是菱形乱码,反而将Cmake OutputLogEncoding设置为gbk,cmake输出的log是正常的。

下图是正常编译过程中的中文log:

相关推荐
初一初十9 小时前
vue3茶叶商城网站vue网页vuejs前端
前端·javascript·vue.js·vscode·前端框架
Jumbo星12 小时前
新版vscode侧边资源管理器的文件搜索
ide·vscode·编辑器
今天的你比昨天进步了?12 小时前
单片机程序,keil可以正常编译,VScode编译报错处理
vscode·单片机·嵌入式硬件
ABAP-張旺12 小时前
ABAP:Visual Studio Code開發ABAP教程
ide·vscode·编辑器
stevenzqzq16 小时前
vsCode AI插件
ide·人工智能·vscode
拾贰_C17 小时前
【Ubuntu | VSCode | SSH | 远程连接 | Linux】VSCode 怎么实现ssh远程连接
linux·vscode·ubuntu
你疯了抱抱我17 小时前
【STM32】配置vscode+C工具链+Cortex-Debug开发环境,IC:STM32F411CEU6
c语言·vscode·stm32
William.csj19 小时前
服务器——终端ssh可以连接进服务器,vscode连接不进去服务器的解决办法
服务器·vscode·ssh
小白菜菜菜菜菜菜菜菜菜菜菜菜19 小时前
claude code + vscode + deepseek安装配置
vscode·编辑器
shandianchengzi19 小时前
【记录】VSCode|Windows 下 VS Code 配置 Git Bash 为默认终端完整教程
windows·git·vscode·bash