汉化本身不会导致乱码,真正原因是编码识别逻辑被干扰;需先用Reopen with Encoding正确识别原始编码(如GBK),再Save with Encoding→UTF-8完成转码,同时禁用detect_encoding、配对设置default_encoding_on_save与fallback_encoding,并通过.sublime-project管理混合编码项目。

汉化本身不会导致乱码,真正出问题的是编码识别逻辑被干扰——汉化包常附带错误的 default_encoding 或启用 detect_encoding: true,结果让 Sublime 用 GBK 去解 UTF-8 文件,或者跳过 BOM 直接 fallback 到乱码编码。
Reopen with Encoding 是唯一能救回乱码文件的操作
点开一个满屏“锟斤拷”的文件后,右下角显示的 UTF-8 或 Western (ISO 8859-1) 只是当前解码方式,不是文件真实编码。它正在错读,你才看到乱码。
- 立刻执行
File → Reopen with Encoding → Chinese (GBK)(有时也叫CP936) - 如果还是乱码,再试
Chinese (GB2312);别试Western (Windows 1252),它根本不含中文字符 - 只要中文一出来,右下角变成
Chinese (GBK),就说明原始编码识别对了 - 此时内存里已是正确解码的 Unicode 内容,磁盘文件一字未动
Save with Encoding → UTF-8 才是真正转码动作
前面所有操作都只影响显示,只有这一步才改磁盘文件。跳过 Reopen with Encoding 直接点它,等于把乱码再编码一遍,变成双乱码。
- 必须在中文显示完全正常后,再执行
File → Save with Encoding → UTF-8(注意:不是UTF-8 with BOM) - 保存后关闭再重开,右下角应显示
UTF-8,且中文依然正常 - 如果别人用记事本打开还是乱码,说明上一步没做对——文件根本没被正确识别为 GBK
- 验证是否真去除了 BOM:
xxd 文件名 | head -n1,输出不含ef bb bf才算干净
用户配置里 fallback_encoding 和 default_encoding_on_save 必须配对设对
ST4(Build 4126+)已彻底移除 fallback_encoding 的实际作用,但很多人还在错误地写它。真正控制行为的是 default_encoding_on_save,而 fallback_encoding 在旧版 ST3 中仍有效,需严格按 Sublime 内置名填写。
- ST4 用户应删掉
fallback_encoding,只保留:"default_encoding_on_save": "UTF-8"和"save_with_bom": false - ST3 用户推荐配对使用:
"default_encoding": "UTF-8"+"fallback_encoding": "Chinese (GBK)" -
fallback_encoding不接受标准编码名,写"UTF-8"是无效配置;必须用"Chinese (GBK)"(括号、空格、大小写全敏感) - 务必删掉配置里的
detect_encoding: true——它会让 Sublime 主动跳过 BOM 去试 GBK,把带 BOM 的 UTF-8 文件判成乱码
混合编码项目不能靠全局设置,得用 .sublime-project 绑定规则
同一目录下既有 UTF-8 脚本又有 GBK 配置文件时,全局 fallback_encoding 或插件自动转换会互相打架。Git 提交失败、Python 报 Non-UTF-8 code starting with '\xef',往往就是这个原因。
- 右键项目根目录 →
Open Folder as Project→Project → Save Project As…生成.sublime-project - 在该文件中添加编码规则,例如:
{
"folders":
[
{
"path": "."
}
],
"settings":
{
"default_encoding_on_save": "UTF-8",
"save_with_bom": false
},
"file_exclude_patterns": ["*.log"],
"syntax_override": {
"config/*.ini": "Packages/INI/INI.sublime-syntax",
"legacy/*.conf": "Packages/Text/Plain text.sublime-syntax"
}
}
更关键的是:对 GBK 类型文件(如 *.ini),可在 View → Encoding 手动切到 Chinese (GBK) 后再编辑,避免误存为 UTF-8。
最易被忽略的一点:汉化包自带的设置常覆盖你手动改的编码项,装完汉化后务必检查 Preferences → Settings – User 是否被注入了错误的 default_encoding 或 detect_encoding。删掉它们,再按需重配。


















