VSCode 中文乱码需依次检查并修正文件编码、默认编码设置、终端 locale、扩展干扰及用户配置;优先手动重开为 GBK/GB2312,设默认编码为 utf8bom,确保 LANG=zh_CN.UTF-8,并禁用干扰扩展。

如果您在使用 VSCode 编辑中文文件时出现文字显示为方块、问号或符号错位等现象,则可能是由于文件编码格式未被正确识别或编辑器默认编码设置不匹配所致。以下是解决此问题的步骤:
本文运行环境:MacBook Air,macOS Sequoia。
一、修改文件编码格式
VSCode 会根据文件头部 BOM 或内容特征自动推测编码,但对无 BOM 的 GBK/GB2312 文件常误判为 UTF-8,导致中文乱码。手动指定正确编码可立即恢复显示。
1、在 VSCode 中打开出现乱码的文件。
2、点击右下角显示编码的位置(例如“UTF-8”或“GBK”)。
3、在弹出菜单中选择“通过编码重新打开”。
4、从列表中选择“GBK”或“GB2312”(适用于简体中文 Windows 环境生成的文件)。
二、设置默认文件编码为 UTF-8 带 BOM
部分旧版工具(如某些 Excel 导出模块或老旧脚本)依赖 BOM 标识 UTF-8,而 VSCode 默认保存为无 BOM 的 UTF-8。启用 BOM 可提升兼容性,避免其他工具读取时乱码。
1、按下 Cmd + ,(macOS)打开设置界面。
2、在搜索栏输入“files.autoGuessEncoding”,将其值设为true。
3、继续搜索“files.encoding”,点击下拉箭头,选择“utf8bom”。
三、配置 locale 和终端编码一致性
当在 VSCode 内置终端中运行脚本并输出中文时,若系统 locale 与终端编码不一致,会导致命令行输出乱码。需确保终端环境变量与 VSCode 启动上下文统一。
1、打开终端,执行命令:locale,确认输出中 LANG=zh_CN.UTF-8 或类似中文 UTF-8 设置存在。
ECTouch是上海商创网络科技有限公司推出的一套基于 PHP 和 MySQL 数据库构建的开源且易于使用的移动商城网店系统!应用于各种服务器平台的高效、快速和易于管理的网店解决方案,采用稳定的MVC框架开发,完美对接ecshop系统与模板堂众多模板,为中小企业提供最佳的移动电商解决方案。ECTouch程序源代码完全无加密。安装时只需将已集成的文件夹放进指定位置,通过浏览器访问一键安装,无需对已有
2、若不存在,在 shell 配置文件(如 ~/.zshrc)中添加:export LANG=zh_CN.UTF-8。
3、重启 VSCode 或重新加载窗口(Cmd + Shift + P → “Developer: Reload Window”)。
四、禁用可能干扰编码识别的扩展
某些第三方扩展(如旧版文件监视器、自定义语法高亮插件)会覆盖 VSCode 的编码检测逻辑,强制使用错误解码方式。临时禁用可疑扩展有助于定位问题根源。
1、按下 Cmd + Shift + X 打开扩展面板。
2、在搜索框中输入“file encoding” 或“gbk”,查找已安装的相关扩展。
3、逐个点击扩展右侧的“禁用”按钮,然后重新打开乱码文件验证效果。
五、重置用户设置中的编码相关字段
用户 settings.json 中若存在硬编码的 files.encoding 或 files.autoGuessEncoding 错误值,将覆盖默认行为。直接编辑配置文件可清除异常设定。
1、按下 Cmd + Shift + P,输入并选择“Preferences: Open Settings (JSON)”。
2、查找包含“files.encoding”、“files.autoGuessEncoding” 或“files.defaultLanguage” 的行。
3、将对应行前添加 // 注释掉,或删除整行。
4、保存文件并关闭再重新打开目标文档。









