ST4已彻底移除fallback_encoding,配置无效;必须设"default_encoding_on_save": "UTF-8"才能强制Ctrl+S以UTF-8保存,且大小写和短横必须严格匹配。

Sublime Text 4 用户别配 fallback_encoding
ST4 已彻底移除 fallback_encoding 字段,你在用户设置里写 "fallback_encoding": "Chinese (GBK)" 完全无效。这个字段在 ST4 中被硬性忽略,不会触发任何兜底行为。真正控制“保存时用什么编码”的是 default_encoding_on_save,必须设为 "UTF-8"(注意大小写和短横),否则 Ctrl+S 仍可能按系统默认或旧缓存规则写入 GBK。
常见错误现象:改完设置重启后,新建文件右下角显示 UTF-8,但一保存别人用记事本打开还是乱码——大概率就是 default_encoding_on_save 没配,或者配成了 "utf-8"(小写)或 "UTF8"(缺短横),ST4 对值大小写和拼写敏感。
ST3 和 ST2 的 Chinese (GBK) 必须手动装插件才出现
ST3/ST2 默认不内置 GBK 解码支持,菜单里 Reopen with Encoding → Chinese (GBK) 根本不会显示,除非你装了 GBK Support 或 GBK Encoding Support 插件。Package Control 搜索到的很多同名插件已停更或只适配 ST4,容易白装。
实操建议:
- 去 GitHub 找最新 release 的
GBK Support(作者:titoBouzout),下载 .sublime-package 文件,手动丢进Packages/GBK Support/目录 - 别信“自动识别插件”,
ConvertToUTF8在 ST3 上对混合 GB18030/GBK 文件易卡死,且不兼容某些 Build 号 - 装完必须重启 Sublime,仅重载插件不生效
汉化包和编码设置冲突时优先保编码
很多人装完中文界面插件(如 ChineseLocalization)后发现打开老项目中文全变方块——这不是汉化包坏了,而是它悄悄覆盖了编码相关配置,比如把 default_encoding 改成 "Chinese (GBK)",导致所有新文件强制用 GBK 保存。
检查方法:打开 Preferences → Settings,对比左右两侧,看用户设置里是否多出以下危险项:
"default_encoding": "Chinese (GBK)", "detect_encoding": true,
删掉这两行,补上 ST4 必需的:
"default_encoding_on_save": "UTF-8", "save_with_bom": false
汉化包只改菜单语言,不该碰编码逻辑;一旦它越界,就得手动剥离。
混合编码项目必须放弃全局设置
一个目录下同时存在 UTF-8 的 Python 脚本和 GBK 的配置文件(如 config.ini),全局设 default_encoding_on_save 为 UTF-8 或 GBK 都会翻车。这时候唯一可靠的方式是靠右下角状态栏手动切编码,或者用项目级配置。
项目专属方案:
- 菜单
Project → Save Project As...生成.sublime-project - 编辑该文件,在
"settings"下加:"default_encoding_on_save": "UTF-8", "fallback_encoding": "Chinese (GBK)"
(ST3 可用,ST4 中fallback_encoding仅作占位,不执行) - 对 GBK 文件单独处理:右键标签页 →
Reopen with Encoding → Chinese (GBK),再保存
这种场景下,指望一次配置解决所有乱码是错的;人工干预不是倒退,而是 Sublime 编码模型的固有限制。

















