VS Code终端中文乱码需统一编码与字体:一、设置"terminal.integrated.defaultEncoding": "utf8";二、PowerShell执行[Console]::OutputEncoding = [System.Text.Encoding]::UTF8;三、CMD运行chcp 65001并配置启动参数;四、禁用系统Beta版UTF-8支持;五、指定等宽中文字体如'Cascadia Code'。

如果您在VS Code的集成终端中使用PowerShell或CMD运行命令时,中文字符显示为方块、问号或乱码,则可能是由于终端编码设置与系统区域设置不匹配导致。以下是解决此问题的步骤:
一、修改VS Code终端默认编码为UTF-8
VS Code终端需明确指定使用UTF-8编码以正确解析和渲染中文字符,否则会沿用系统默认的ANSI编码(如GBK),造成解码失败。
1、按下 Ctrl + , 打开设置界面。
2、在右上角搜索框中输入 terminal integrated default encoding。
3、点击 Edit in settings.json 链接,进入JSON配置文件。
4、在 settings.json 中添加或修改以下行:
"terminal.integrated.defaultEncoding": "utf8"
二、在PowerShell中临时设置UTF-8输出编码
PowerShell默认使用系统区域编码输出,需手动将控制台输出编码切换为UTF-8,确保命令执行结果中的中文能被VS Code终端正确接收。
1、在VS Code终端中输入以下命令并回车:
[Console]::OutputEncoding = [System.Text.Encoding]::UTF8
2、验证是否生效:运行 echo "测试中文",观察是否正常显示。
3、如需每次启动自动执行,将该命令添加至PowerShell配置文件 $PROFILE 中。
三、修改CMD终端代码页为UTF-8
CMD默认使用GBK(代码页936),需切换至UTF-8(代码页65001)才能支持中文输出,否则即使VS Code以UTF-8解析,CMD本身已输出乱码字节。
1、在VS Code终端中输入以下命令并回车:
chcp 65001
2、确认返回结果包含 活动代码页: 65001。
3、为使该设置持久化,在VS Code设置中添加终端启动命令:
"terminal.integrated.profiles.windows": { "Command Prompt": { "path": "cmd.exe", "args": ["/k", "chcp", "65001"] } }
四、检查并修正系统区域设置中的“Beta版UTF-8支持”
Windows系统若启用“Beta版:使用Unicode UTF-8提供全球语言支持”,可能干扰CMD/PowerShell原有编码逻辑,导致VS Code终端解析异常。
1、打开 控制面板 → 区域 → 管理 → 更改系统区域设置。
2、检查是否勾选了 Beta版:使用Unicode UTF-8提供全球语言支持。
3、如已勾选,取消该选项并重启计算机;如未勾选但仍有乱码,可尝试勾选后重启再测试。
五、重置VS Code终端字体配置
部分中文字体不支持PowerShell/CMD的光栅字体渲染模式,或VS Code未正确加载等宽中文字体,会导致字符无法绘制。
1、打开VS Code设置(Ctrl + ,)。
2、搜索 terminal integrated font family。
3、在输入框中指定兼容性良好的等宽中文字体,例如:
"terminal.integrated.fontFamily": "'Cascadia Code', 'Microsoft YaHei Mono', 'SimSun'"
4、保存后关闭并重新打开终端窗口。









