sublime中文乱码根本原因是默认用utf-8解析gbk文件,需先file→reopen with encoding→chinese (gbk)正确解码,再file→save with encoding→utf-8转存,而非依赖插件自动识别。

Sublime 打开中文文件乱码,不是插件没装对,而是你还没告诉它“这个文件其实是 GBK”。ConvertToUTF8 插件本身不解决显示问题,它只在你按 Ctrl+S 保存时,把已正确解码的内容转成 UTF-8 字节写回磁盘——前提是,你得先让它“看懂”原始内容。
Reopen with Encoding 是第一步,不是可选项
乱码文件一打开就是方块或问号,说明 Sublime 正在用 UTF-8 解析 GBK 字节流。这时候点状态栏编码名、选 Reopen with Encoding → Chinese (GBK),才是让内容变正常的关键动作。
- 如果选了
Chinese (GBK)后仍乱码,再试Chinese (GB2312)或Western (Windows 1252)(旧版记事本常见) - 一旦中文显示正常,就证明原始编码判断对了;否则后续所有保存操作都可能固化错误
- Sublime 会记住每个文件上次用的编码,关掉重开仍沿用——所以别指望改完设置就自动生效
Save with Encoding → UTF-8 才是真正转码
右下角状态栏显示 GBK 并不意味着文件已经是 GBK 编码,它只是当前视图的解码方式。真正让磁盘文件变成 UTF-8 的,只有这一步:
- 菜单栏
File → Save with Encoding → UTF-8(注意:不是UTF-8 with BOM) - 这步调用的是 Sublime 原生逻辑:把内存中已解码的 Unicode 字符,严格按 UTF-8 规则重新编码写入
- 如果之前没做
Reopen with Encoding,直接点这步,等于把乱码当原文本再存一遍,不可逆
ConvertToUTF8 插件必须手动安装,Package Control 不可靠
官方仓库早在 2020 年就下架了 ConvertToUTF8,现在通过 Package Control: Install Package 搜到的,基本是过期镜像或改名版本(如 CTU8),兼容性差、甚至有安全风险。
- 去 GitHub 搜索
seanliang/ConvertToUTF8(作者原 repo,最后更新于 2020) - 下载
master分支 zip,解压后重命名为ConvertToUTF8 -
Preferences → Browse Packages…,把文件夹拖进打开的目录,重启 Sublime - 插件默认不自动启用,首次需手动打开一个 GBK 文件触发检测;状态栏出现
UTF-8 (ConvertToUTF8)即生效
ST4 用户优先考虑 Codecs37,而非 ConvertToUTF8
如果你用的是 Sublime Text 4.4+,ConvertToUTF8 已基本不可靠。它依赖的底层库(如 chardet)在 ST4 中兼容性断裂,且多年未维护。
-
Codecs37是目前更稳的选择:支持 GBK/GB18030/UTF-8-BOM/Shift-JIS 等 30+ 编码,持续维护 - 安装后无需额外配置,打开 GBK 文件会自动识别并正常显示,状态栏直接标出
GBK - 点击状态栏编码名可快速切换保存编码,不依赖保存时的自动转换逻辑
- 对混合编码、含 BOM、控制字符的脏数据容错更强
最麻烦的永远不是操作本身,而是你得先确认那个文件到底是什么编码——尤其当项目里混着 UTF-8-BOM、GBK、ANSI 和无 BOM 的 UTF-8 时,一个一个试 Reopen with Encoding 是常态,没有捷径。











