乱码文件打不开应先手动指定编码而非装插件;在Sublime Text中需通过File→Reopen with Encoding依次尝试Chinese (GBK)等编码,确认右下角显示对应编码且中文可读后,再执行Save with Encoding→UTF-8保存,这才是真正改写文件编码的唯一动作。

乱码文件打不开?先别装插件,直接试 Reopen with Encoding
Sublime Text 显示“锟斤拷”或方块字,不是插件没装好,而是它根本没用对编码读文件。你看到右下角写着 UTF-8,那只是编辑器当前的解码方式,不等于文件真是 UTF-8。第一步必须手动告诉它:“这个文件是 GBK”。
操作路径唯一有效:打开乱码文件 → 菜单栏 File → Reopen with Encoding → 依次试:Chinese (GBK)、Chinese (GB2312)、Western (Windows 1252)。只要中文一出来,右下角状态栏变成 Chinese (GBK),就说明原始编码识别对了。
- 别点右下角状态栏反复切换——那是拿错解码方式去解释一堆已错解的字节,只会更糟
- 如果试完
Chinese (GBK)反而更乱,立刻放弃,换其他选项;别保存,否则可能把能读的文件“转坏” - 确认真实编码最靠谱的方式:
file -i 文件名(Linux/macOS)或用 Notepad++ 打开看右下角标识
ConvertToUTF8 插件在 ST4 还值得装吗?
对 Sublime Text 4(Build 4126+)用户,基本不推荐。它自 2020 年起停止更新,ST4 的 API 变动导致常见失效:状态栏不显示编码名、右键无反应、Package Settings 里压根找不到入口。即使强行安装,也容易和原生编码逻辑冲突,造成保存行为异常或状态栏错乱。
如果你必须用(比如维护老 ST3 项目),注意三点:
- 只能通过
Package Control: Install Package安装;手动拖插件文件夹到Packages目录在 ST4 中大概率无效 - 装完必须重启,否则插件监听事件不注册,等于没装
- 首次启用后要进
Preferences → Package Settings → ConvertToUTF8 → Settings – User,写入配置:{"convert_on_load": true,"convert_on_save": true,"confidence": 0.95}其中confidence设太高(如 0.98)会漏掉弱信号 GBK 文件,太低(0.85)又可能把带 BOM 的 UTF-8 错判为 GBK
Save with Encoding → UTF-8 是唯一真正改文件的动作
前面所有操作(包括插件自动转换)都只影响内存里的显示,不碰磁盘一字节。Save with Encoding → UTF-8 才是把当前已正确解码的 Unicode 内容,严格按 UTF-8 编码规则重写回文件的唯一动作。
- 必须在
Reopen with Encoding → Chinese (GBK)确认中文正常显示之后执行 - 选
UTF-8,不是UTF-8 with BOM;否则 Windows 记事本可能误判 - 保存后关闭再重开,右下角应显示
UTF-8且中文依然正常;如果别人用记事本打开还是乱码,说明第一步原始编码没识别对 - 保存失败或静默丢字?可能是文件含 GB18030 混合变体或异常控制字符,建议先用 Notepad++ 转一次再回 Sublime 验证
ST4 的编码配置项哪些真管用?
Sublime Text 4 中,fallback_encoding 已彻底失效,default_encoding 被官方标记为“已弃用”,它只影响新建空文件右下角显示的编码标识和“另存为”对话框默认选项,不控制 Ctrl+S 的实际写入编码。
真正决定保存行为的是:default_encoding_on_save。在用户设置中加这一行即可:
{"default_encoding_on_save": "UTF-8"}
- 需要带 BOM(极少数 Windows 工具强制要求)?写成:
"default_encoding_on_save": "UTF-8 with BOM",注意不能写"UTF8-BOM" -
detect_encoding设为true反而有害:它会让 Sublime 主动跳过 BOM 去试 GBK,把带 BOM 的 UTF-8 文件判成乱码,建议删掉该配置 - 字体设置不影响编码,但若中文显示为空心/断笔,需确认
font_face包含支持中文的字体,如"Microsoft YaHei"


















