必须将show_encoding设为true才能在状态栏显示编码;该设置仅控制显示开关,不改变解码逻辑,新建未保存文件、二进制文件或插件面板等无编码概念的视图不会显示。

Sublime Text 状态栏默认不显示编码,不是坏了,是根本没开这个开关——必须手动启用 show_encoding 才能看到 UTF-8、GBK 这类字样。
怎么让状态栏真正显示当前文件编码
核心就一条:把 show_encoding 设为 true。它不控制“怎么读文件”,只控制“要不要在右下角打字”。
- 按
Ctrl+,(Windows/Linux)或Cmd+,(macOS)打开设置,右侧用户配置里加一行:"show_encoding": true - 保存后,新打开的文件立刻生效;已打开的文件可能不刷新,可点状态栏空白处 →
Set Encoding→ 选UTF-8强制重载一次 - 别写成
show_encoding_on_status_bar——这是旧版残留项,2026 年主流版本已完全忽略它
为什么开了 show_encoding 还是看不到编码名
不是配置失效,是 Sublime 主动选择不显示。常见真实场景:
- 文件是新建未保存的缓冲区(无名、无路径),状态栏只显示
Plain Text,不显示任何编码 - 文件被识别为二进制(比如 .png、.pdf),Sublime 不做编码探测,状态栏留空
- 当前视图是
Find Results、Console或插件面板,它们压根没有编码概念 - 装了某些覆盖状态栏的插件(如自定义状态栏主题、SideBarEnhancements),会压制原生编码显示
状态栏显示的 UTF-8 或 Western (Windows 1252) 到底是什么意思
它只反映 Sublime “此刻用什么编码去解码字节”,不是文件磁盘上的原始编码,也不是 BOM 声明的编码。
-
UTF-8:Sublime 正在用 UTF-8 解析当前字节流(但文件可能实际是 GBK,只是碰巧 ASCII 字符能对上) -
Western (Windows 1252):Sublime 没检测到 BOM,又看到一堆非 ASCII 字节,就按西欧编码猜——中文文件十有八九显示这个,一打开就是乱码 -
Undefined:常见于空文件、刚新建未输内容的缓冲区,或 Sublime 完全无法解析的字节序列(比如部分二进制头) - 点状态栏的编码名 ≠ 转码:只是让 Sublime 换个方式重新读一遍内存里的字节,不改磁盘内容
遇到乱码时,怎么确认并修复真实编码
不能只信状态栏文字。得靠“试读 + 保存”两步闭环验证:
- 先按
Ctrl+Shift+P输入Reopen with Encoding,挨个试GBK、GB2312、UTF-8,看哪一种中文显示正常 - 如果列表里没有
GBK,说明解码器没加载:在用户设置中加"fallback_encoding": "GBK",重启再试 - 确认显示正常后,再执行
Save with Encoding→UTF-8,这才真正把文件转成 UTF-8 并覆写磁盘 - 注意:
Convert to UTF-8命令本质就是“Reopen + Save with Encoding”的组合操作,适合批量处理
最常被忽略的一点:纯 ASCII 内容 + 无 BOM 的 UTF-8 文件,哪怕 show_encoding 开着,Sublime 也大概率不显示 UTF-8 ——它认为没必要提示。这时候得靠 Save with Encoding 命令反查“Currently using UTF-8”来确认。











