状态栏不显示编码主因是show_encoding未启用,需在settings–user中设为true;sublime仅在需编码决策时显示,如新建文件、二进制文件、ascii/无bom utf-8文件均不显示。

状态栏不显示编码,90% 是因为 show_encoding 没开,而不是插件坏了或 Sublime 抽风。
怎么确认 show_encoding 是否已启用
打开 Preferences → Settings – User,检查右侧 JSON 中是否存在这一行:
"show_encoding": true
如果没这行,或者值是 false,就直接加上或改成 true。别写 show_encoding_on_status_bar——这是 2026 年已弃用的字段,写了也无效。
- 改完保存,新打开的文件立刻显示编码(如
UTF-8) - 已打开的文件可能不刷新,可右键状态栏空白处 →
Set Encoding→ 选UTF-8强制触发一次重载 - 某些插件(比如旧版
SideBarEnhancements)会静默写入"status_bar_visible": false,导致整个状态栏消失,得一并检查并删掉
为什么开了 show_encoding 还是看不到编码名
不是配置没生效,是 Sublime 主动选择不显示——它只在“有编码决策必要”时才打字。
- 新建未保存的文件(
Untitled)永远只显示Plain Text,不显示任何编码 - 二进制文件(
.png、.pdf)、控制台(Console)、查找结果(Find Results)这类视图压根没有编码概念,状态栏留空 - 纯 ASCII 内容 + 无 BOM 的 UTF-8 文件,Sublime 默认按 UTF-8 解码但不标注,哪怕
show_encoding已开启 - 装了覆盖状态栏的插件(如自定义主题、
StatusMessage),可能压制原生字段;先禁用插件验证
状态栏显示的 UTF-8 到底靠不靠谱
它只代表 Sublime “此刻用什么规则解码当前字节”,不是文件磁盘上的真实编码,也不是 BOM 声明的编码。
- 对无 BOM 的中文文件,Sublime 可能误判为
Western (Windows 1252),状态栏就真显示那个 - 已用错误编码打开的文件,状态栏可能缓存旧值;必须右键点击编码区域 →
Reopen with Encoding才能强制刷新 -
UTF-8和UTF-8 with BOM在状态栏是两个独立条目,BOM 存在与否会影响 Python/JSON 解析,看到后者就得警惕 - 真正验证编码,要用
File → Reopen with Encoding尝试几种常见编码,看内容是否可读
最常被忽略的一点:状态栏信息是「解码视角」,不是「存储事实」。你看到 UTF-8,不代表文件里没 GBK 字节;你看到 Western,也不代表它不能用 UTF-8 正确打开——得动手试,不能只信右下角那几个字。











