状态栏不显示编码需启用show_encoding:true;显示western或undefined说明编码误判,应先reopen with encoding再save with encoding;插件statusmessage可扩展信息。

状态栏不显示编码?先确认 show_encoding 是否启用
Sublime 默认压根不显示编码,不是坏了,是没开。核心开关就一个:show_encoding,设为 true 才会把 UTF-8、GBK 这类字样打在右下角。
- 打开
Preferences → Settings – User,在右侧用户设置里加一行:"show_encoding": true - 保存后,新打开的文件立刻显示;已打开的文件可能不刷新,可点状态栏编码区(哪怕显示为空)→ 选
Set Encoding → UTF-8强制重载一次 - 别写成
show_encoding_on_status_bar——那是旧版 Sublime 的配置项,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 真的无从判断
点击状态栏编码名 ≠ 转码,保存后还是乱码?你可能跳过了关键一步
右下角点 UTF-8 只是让 Sublime “用 UTF-8 再读一遍当前字节”,不会改磁盘内容。原文件是 GBK 字节,你硬用 UTF-8 解,只会更乱。
- 正确流程分两步:
Reopen with Encoding → GBK(先看清原文)→Save with Encoding → UTF-8(再存成 UTF-8 字节) - 千万别用
Save As改后缀再选编码——这不改变当前视图的解码逻辑,状态栏也不会更新,还容易覆盖错文件 - 插件如
ConvertToUTF8能自动做这两步,但它只对打开动作生效;已乱码的文件,仍得手动Reopen with Encoding救回来
想让状态栏信息更全?用 StatusMessage 插件比改 Python 文件安全
原生状态栏只能塞编码、换行符、语法名这几个字段。想加文件大小、行数、Git 状态?自己改 Packages/StatusBar/status_bar.py 风险高,升级后还可能被覆盖。
- 装
StatusMessage插件最稳:按Ctrl+Shift+P→Package Control: Install Package→ 搜StatusMessage - 配置路径:
Preferences → Package Settings → StatusMessage → Settings,填入:{"format": "编码: {encoding} | 行数: {line_count} | 大小: {file_size}"} - 注意:
{file_size}只对已保存文件有效;未保存的缓冲区显示为空,这是设计如此,不是插件 bug











