根本原因是Sublime Text默认不自动识别GBK/GB2312等中文编码,强制按UTF-8解码导致乱码;需先“Reopen with Encoding→GBK”正确读取,再“Save with Encoding→UTF-8”转存。

Sublime Text 打开中文文件显示乱码,根本原因是什么
不是字体问题,也不是系统语言设置问题,而是 Sublime Text 默认没有自动识别 GBK/GB2312 等中文编码格式,它会按 UTF-8 尝试解码——而 GBK 编码的汉字用 UTF-8 解析,必然出现 或一堆问号、方块等乱码。
手动转换当前文件编码为 UTF-8 的完整步骤
注意:这不是“保存为 UTF-8”,而是先正确读取原始编码(如 GBK),再转存为 UTF-8。跳过识别环节直接“Save with Encoding → UTF-8”只会让乱码固化。
- 用 Sublime Text 打开乱码文件后,点击菜单栏
File → Reopen with Encoding → GBK(或GB2312、GBK 2010,优先试GBK) - 确认中文正常显示后,再点
File → Save with Encoding → UTF-8 - 关闭并重新打开该文件,应保持正常显示且无警告
如何让 Sublime Text 自动识别并默认用 UTF-8 保存新文件
这不能解决已有乱码文件,但能避免后续新建/另存时再次出错:
- 打开
Preferences → Settings – User - 在右侧面板 JSON 中添加或修改以下两项:
{ "default_encoding": "UTF-8", "fallback_encoding": "GBK" } -
default_encoding控制新建文件和“另存为”时的默认编码;fallback_encoding是当 Sublime 无法确定编码时的备选解码方案(对打开旧文件很关键) - 保存配置后重启 Sublime(部分版本需重启才生效)
批量转换多个 GBK 文件为 UTF-8 的安全做法
别用“全部替换编码”类插件一键硬转——如果某文件实际是 UTF-8 却被误判为 GBK,转完反而损坏。稳妥方式是逐个确认:
- 安装插件
ConvertToUTF8(通过 Package Control 安装) - 它会在状态栏显示当前编码(如
GBK),点击即可快速切换解码方式 - 确认显示正常后,按
Ctrl+S(Windows/Linux)或Cmd+S(macOS),插件会自动以 UTF-8 保存 - 插件不会修改原文件编码逻辑,只在保存时做一次性转换,失败可随时撤销
真正麻烦的不是操作步骤,而是得先判断文件原本是什么编码——尤其混合了 UTF-8-BOM、GBK、ANSI 的项目里,一个一个试才是常态。










