VSCode编译乱码?一招搞定chcp错误
在使用 VSCode 创建工程后尝试编译文件时显示生成完成但实际上出现了错误且未生成任何编译文件。如下图所示首先我们需要了解 chcp 的含义chcp change code page修改代码页/字符编码这是 Windows 系统内置的一个实用工具存放路径为C:\Windows\System32\chcp.com其主要功能是设置当前终端使用的文字显示编码。出现乱码问题的常见原因是系统无法定位该文件。系统查找程序的顺序如下在当前目录中查找在环境变量 Path 指定的所有目录中查找当系统路径中未包含相关目录时系统将无法识别 chcp 命令从而导致报错。详细说明C:\Windows\System32这是 Windows 的核心系统目录包含绝大多数系统命令若不添加此路径约 90% 的 cmd 命令将无法正常使用C:\Windows存放部分较旧的系统工具添加此路径可提高系统兼容性在VSCode编译命令中为什么要加入chcp 65001这是因为Windows系统默认使用GBK编码代码页936而GCC编译器输出的中文信息如果不切换到UTF-8编码就会显示为乱码。因此C/C插件会自动添加chcp 65001nul命令先将编码切换为UTF-8再执行编译确保中文正常显示。为什么没有chcp命令也能编译因为chcp仅控制终端显示编码不影响实际的编译过程。查看当前终端编码的命令[Console]::OutputEncoding切换为UTF-8编码的命令[Console]::OutputEncoding [System.Text.Encoding]::UTF8