VSCode中文乱码90%因编码不一致:文件实际编码(如GBK)与VSCode默认UTF-8解码不匹配;应手动选择Reopen with Encoding→GBK确认,再Save with Encoding→UTF-8转存,并设files.encoding为utf8、files.autoGuessEncoding为false。

VSCode 中文显示乱码,90% 是编码设置不一致导致的,不是字体或系统问题。
文件打开后中文变问号或方块
这是典型的文件实际编码(如 GBK)与 VSCode 当前解码方式(默认 UTF-8)不匹配。VSCode 不会自动探测 GBK,尤其 Windows 上用记事本保存的 .txt 或旧项目配置文件极易中招。
- 点击右下角状态栏的
UTF-8(或GBK、ISO 8859-1等),选择Reopen with Encoding→ 尝试GBK或GB2312 - 若恢复正常,说明文件确实是 GBK 编码;此时可点击同一位置选
Save with Encoding→UTF-8转存为统一编码 - 不要依赖“自动猜测”,VSCode 的
files.autoGuessEncoding对中文支持极差,建议设为false(避免误判)
设置默认文件编码为 UTF-8(推荐全局统一)
新项目、协作开发、跨平台编辑都应以 UTF-8 为唯一标准。Windows 用户常因记事本默认保存为 GBK 而陷入循环乱码。
- 打开设置(
Ctrl+,),搜索files.encoding,将值设为utf8 - 同时关闭
files.autoGuessEncoding(设为false)——它在中文场景下几乎总猜错 - 如需强制新建文件即用 UTF-8,确认
files.defaultLanguage不影响编码,真正起效的是files.encoding
界面语言显示为乱码(菜单/提示框中文异常)
这和文件编码无关,是 VSCode 自身 UI 语言包或系统区域设置冲突所致,常见于非简体中文 Windows 系统(如英文 Win + 中文用户目录)。
- 按
Ctrl+Shift+P输入Configure Display Language,选择zh-cn,重启生效 - 若仍乱码,检查系统区域设置:控制面板 → “区域” → “管理”选项卡 → “更改系统区域设置” → 勾选
Beta: Use Unicode UTF-8 for worldwide language support(Windows 10/11),重启电脑 - 不建议通过修改
locale.json或环境变量VSCODE_LANG强行覆盖,易引发插件兼容问题
终端(Integrated Terminal)中文输出乱码
这是 shell 层面的编码问题,VSCode 终端本身不处理字符渲染,只转发编码。PowerShell 和 CMD 表现不同。
- PowerShell:运行
[Console]::OutputEncoding = [Text.Encoding]::UTF8临时修复;永久生效需在$PROFILE中添加该行 - CMD:执行
chcp 65001切换到 UTF-8;但部分老工具(如某些 Python 2 脚本)不兼容,此时需改用 PowerShell - VSCode 设置中
terminal.integrated.defaultProfile.windows推荐设为PowerShell,而非Command Prompt
最麻烦的情况是:文件编码、编辑器设置、终端编码、甚至 Git 提交信息编码全部不一致。建议从一个干净的 UTF-8 项目开始,逐步校验每层编码链,而不是反复切换猜测。










