状态栏不显示编码需启用show_encoding:true;显示Western或Undefined说明编码误判,应先Reopen with Encoding再Save with Encoding;插件StatusMessage可扩展信息。

状态栏不显示编码?先确认 show_encoding 是否启用
Sublime 默认压根不显示编码,不是坏了,是开关没开。核心配置项只有一个:show_encoding,设为 true 才会在右下角状态栏打上 UTF-8、GBK 这类字样。
打开 Preferences → Settings – User,在右侧 JSON 中加这一行:
"show_encoding": true
保存后,新打开的文件立刻生效;已打开的文件可能不刷新,可右键状态栏空白处(或点击当前显示的编码名)→ 选 Set Encoding → UTF-8 强制重载一次。
注意:show_encoding_on_status_bar 是旧版配置,2026 年主流版本已弃用,写了也不起作用。
状态栏显示 Western (Windows 1252) 或 Undefined?说明 Sublime 误判了
状态栏写的不是“文件原始编码”,而是 Sublime 当前“怎么读这个文件”。无 BOM + 含中文时,它大概率当成 Western(即 cp1252),结果一打开就是乱码。
- 别信状态栏就直接编辑——先按
Ctrl+Shift+P输入Reopen with Encoding,挨个试GBK、GB2312、UTF-8 - 如果列表里没有
GBK,说明解码器没加载:在用户设置里加"fallback_encoding": "GBK",重启再试 -
Undefined多见于空文件、刚新建未保存的缓冲区,或二进制文件,不是配置问题,是 Sublime 真的无从判断
Reopen with Encoding 和 Save with Encoding 别混用
右下角点 UTF-8 只是让 Sublime “用 UTF-8 再读一遍当前字节”,不会改磁盘内容。原文件是 GBK 字节,你硬用 UTF-8 解,只会更乱。
正确流程必须分两步:
-
Reopen with Encoding → GBK(先看清原文) -
Save with Encoding → UTF-8(再存成 UTF-8 字节)
千万别用 Save As 改后缀再选编码——这不改变当前视图的解码逻辑,状态栏也不会更新,还容易覆盖错文件。
想看更多编码信息?优先装 StatusMessage 插件
原生状态栏只能塞编码、换行符、语法名这几个字段。想加文件大小、行数、Git 状态?自己改 Packages/StatusBar/status_bar.py 风险高,升级后还可能被覆盖。
装 StatusMessage 最稳:
-
Ctrl+Shift+P→Package Control: Install Package→ 搜StatusMessage - 配置路径填入:
{"format": "编码: {encoding} | 行数: {line_count} | 大小: {file_size}"}
插件如 ConvertToUTF8 或 Codecs3 能增强识别,但它们会覆盖原生行为,冲突时优先检查已启用插件——尤其当你发现状态栏点了编码没反应,或者切换后不刷新,大概率是插件劫持了流程。











