
Sublime状态栏不显示编码时,新建未保存文件默认为Plain Text且不显示编码;保存后输入非ASCII字符或手动设置编码即可显示。
Sublime 默认会把当前文件编码显示在右下角状态栏,但如果没看到,大概率是文件刚新建、未保存,或编码被自动转换过。此时 UTF-8 是默认隐式编码,但不会主动显示——只有显式声明或检测到 BOM/非 ASCII 字符后才触发显示。
实操建议:
Ctrl+S),再输入一个中文或特殊符号(如“é”),状态栏通常立刻刷新出 UTF-8
Ctrl+Shift+P 调出命令面板,输入 Set Encoding,手动选一次 UTF-8 或 GBK,状态栏会立即更新Plain Text,不显示编码——这是正常行为,不是 bugSublime 本身不提供“始终显示编码”的原生开关,但可通过修改配置绕过限制。核心思路是启用 show_encoding 状态栏字段,并确保它不被其他插件或主题覆盖。
操作步骤:
Preferences → Settings – User,在右侧 JSON 中添加:"show_encoding": true
Origami、BracketHighlighter 等重度状态栏插件,检查它们是否禁用了编码字段——可临时禁用这些插件验证Material Theme)会隐藏编码字段,改用 Default 主题测试是否恢复显示UTF-8 with BOM 和 UTF-8 的区别在哪这不是 Sublime 的 bug,而是真实编码差异。BOM(Byte Order Mark)是开头三个字节 EF BB BF,Windows 记事本常用,但多数现代编辑器和 Web 环境不需要它,甚至会导致 PHP 输出异常或 JSON 解析失败。
关键判断点:

EF BB BF;是 → 就是 UTF-8 with BOM
Ctrl+Shift+P → Convert to UTF-8,会移除 BOM 并改为显示 UTF-8
File → Save with Encoding → UTF-8(不含 “with BOM” 后缀)才能彻底避免UnicodeDecodeError 或解析错位状态栏显示的是 Sublime “当前认为的编码”,不是文件真实字节编码。乱码说明 Sublime 用错了解码方式——比如文件实际是 GBK,你却设成了 UTF-8,它强行按 UTF-8 解析 GBK 字节,自然成乱码。
排查顺序:
Ctrl+Shift+P → Revert File 恢复原始读取状态Set Encoding → GBK(或 ISO 8859-1、UTF-16 LE),逐个试到文字可读为止Convert to Encoding → [正确编码],这步才是真正重编码写入磁盘Set Encoding 只改解读方式,Convert to Encoding 才改文件内容——很多人卡在这一步Convert 可能把原本正确的文件毁掉。