Sublime乱码需先Reopen with Encoding→Chinese (GBK)修复显示,再Save with Encoding→UTF-8写入磁盘;fallback_encoding须设为"Chinese (GBK)",ST4改用default_encoding_on_save。

标签页名(即文件名)本身不会“乱码”——你看到的其实是文件内容解码失败后,Sublime 在标签页标题里截取的前若干字节,再用当前错误编码渲染的结果。真正要改的是文件的读取编码,不是标签页样式。
Reopen with Encoding → Chinese (GBK) 是唯一有效入口
右下角显示 “UTF-8” 或 “Western (ISO 8859-1)” 只是 Sublime 当前怎么读这个文件,不代表文件真实编码。满屏方块时,它大概率正用 UTF-8 去解一个 GBK 字节流。
- 打开乱码文件后,立刻点击右下角编码名 →
Reopen with Encoding→Chinese (GBK) - 如果仍乱码,再试
Chinese (GB2312)或Western (Windows 1252);只要中文一出现,右下角变成Chinese (GBK),就说明原始编码识别对了 - 菜单里没出现
Chinese (GBK)?说明没装基础编码支持——去Preferences → Browse Packages…手动放一个GBK Support插件文件夹(别信 Package Control 搜到的过期镜像)
Save with Encoding → UTF-8 才真正改磁盘文件
前面所有操作都只影响内存里的显示,Save with Encoding 是唯一会写磁盘的动作。跳过 Reopen with Encoding 直接点它,等于把乱码字节再按 UTF-8 编一次,变成双乱码。
- 必须在中文显示完全正常后,再执行
File → Save with Encoding → UTF-8(注意:不是UTF-8 with BOM) - 保存后关闭再重开,右下角应显示
UTF-8,且中文依然正常;如果别人用记事本打开还是乱码,说明上一步没做对——文件根本没被正确识别为 GBK - 验证是否真去除了 BOM:
xxd 文件名 | head -n1,输出不含ef bb bf才算干净
用户设置里 fallback_encoding 必须写对,否则无效
fallback_encoding 字段不接受标准编码名,写 "UTF-8" 是无效配置。Sublime 只认自己内置的编码标识符,比如 "Chinese (GBK)"。
- 推荐配对使用:
"default_encoding": "UTF-8"+"fallback_encoding": "Chinese (GBK)" -
default_encoding已被官方标记为“已弃用”,它只影响新建空文件右下角显示的编码标识,不控制Ctrl+S的实际写入编码 - ST4 用户注意:
fallback_encoding已失效,真正控制保存行为的是default_encoding_on_save,设为"UTF-8"(注意大小写和短横)
最常被忽略的一点:混合编码项目里,同一目录下既有 UTF-8 脚本又有 GBK 配置,全局设置根本不管用。得靠右下角手动切编码,或者用项目专属 .sublime-project 绑定规则——这点不提前设好,等 Git 提交失败才反应过来。











