文件乱码时应先用“reopen with encoding → utf-8”重载,而非直接修改内容;若已误保存,需先revert再重试;mac用户注意区分utf-8与utf-8 with bom。

文件乱码时怎么强制用 UTF-8 重新打开
Sublime Text 默认不会自动探测编码,一旦文件保存时用了 GBK 或 ISO-8859-1,再用 UTF-8 打开就会显示方块或问号。这不是文件损坏,只是解码方式错了。
正确做法是:先不改内容,用「File → Reopen with Encoding → UTF-8」重载;如果菜单里没这个选项,说明当前已用 UTF-8 打开,乱码另有原因(比如文件本身含 BOM 或混合编码)。
-
Reopen with Encoding是临时切换,不影响文件实际内容和保存行为 - 若选错编码后误点了
Save,可能把乱码“固化”进文件——务必先Revert(右键标签页 → Revert File)再重试 - Mac 用户注意:
UTF-8和UTF-8 with BOM是两个不同选项,Windows 记事本常带 BOM,Sublime 默认不识别,得手动选后者
如何让 Sublime 默认用 UTF-8 打开所有新文件
默认编码只影响新建文件(Ctrl+N),不影响已存在文件的打开行为。想全局统一,得改用户配置。
打开 Preferences → Settings – User,在大括号内加一行:
"fallback_encoding": "UTF-8", "default_encoding": "UTF-8"
这两项作用不同:default_encoding 控制新建文件编码;fallback_encoding 是当 Sublime 无法探测原始编码时的兜底方案(比如二进制混入文本、无 BOM 的 GBK 文件)。
- 别删掉原有配置项,只追加,否则可能丢失字体、缩进等设置
- 改完不用重启,保存即生效,但已打开的旧文件仍保持原编码,需手动
Reopen with Encoding - 某些插件(如
ConvertToUTF8)会覆盖此行为,冲突时优先级:插件 > fallback_encoding > 自动探测
GB2312 / GBK 文件保存后变乱码怎么办
Windows 上的老项目、爬虫抓取的网页源码常是 GBK 编码,用 UTF-8 打开再保存,就真乱了——因为 Sublime 默认保存为 default_encoding 指定的格式。
安全流程是三步:确认原始编码 → 用对应编码打开 → 显式指定保存编码。
- 用
File → Save with Encoding → GBK保存,别依赖快捷键Ctrl+S(它按当前视图编码存) - 如果文件名含中文且路径在 Windows 下显示异常,检查系统区域设置是否为“中文(简体,中国)”,否则 Sublime 可能无法正确读取目录路径
- 批量处理时,
ConvertToUTF8插件可自动转码并保存为 UTF-8,但它不修改原文件,而是新建一个副本,原文件仍留着——容易误操作覆盖
为什么「Detect encoding automatically」经常失灵
Sublime 的自动探测基于文件头部字节和统计特征,对短文本、纯 ASCII、混合编码或无 BOM 的 GBK 文件基本无效。它不是靠文件扩展名判断,所以 .txt 和 .html 都可能被错判为 Western (Windows 1252)。
典型错误现象:File → Encoding 显示 Western (Windows 1252),但中文全成 ,这时其实大概率是 GBK 或 UTF-8 带 BOM。
- 不要依赖「Detect encoding automatically」做日常操作,它只适合辅助排查
- 编辑服务器日志、数据库导出 CSV 等场景,建议固定用
UTF-8或UTF-8 with BOM,避免来回切换 - 如果某类文件总是被错判,可在
View → Show Console里输入sublime.log_commands(True),看打开时 Sublime 实际调用了哪个编码器,再针对性调整











