ConvertToUTF8插件仅让Sublime Text以UTF-8解码文件,不改变实际编码;永久转码须用“Save with Encoding→UTF-8”或iconv命令。

ConvertToUTF8 插件根本不能“转换文件编码”
它只是让 Sublime Text 用 UTF-8 解释当前文件内容,不改磁盘上的字节。你看到中文不乱码了,但保存后还是原编码——除非你手动另存为 UTF-8。
常见错误现象:ConvertToUTF8 装完一打开文件就正常,关掉再开又乱码;或者同事拉你改过的文件,发现他那边还是乱码。
- 本质是「解码层补丁」,不是「转码工具」
- 只影响 Sublime 的读取行为,不影响
file.write()、git commit或其他编辑器 - 对 GBK/GB2312/Big5 等编码有效,但对 ISO-8859-1 这类单字节编码基本无感
真正转换编码必须用 Save with Encoding
Sublime 自带功能就能永久转码,比插件更可靠,也避免协作时埋坑。
使用场景:交接老项目、提交到 Git 仓库前统一编码、导出给 Python/Node.js 脚本处理。
- 打开文件 → 右键 → Save with Encoding → UTF-8(不是
UTF-8 with BOM) - 如果菜单里没有 UTF-8,说明当前文件已被识别为 UTF-8,需先用
Reopen with Encoding强制指定源编码(如GBK),再执行 Save - 批量转换?别依赖插件。用命令行更稳:
iconv -f GBK -t UTF-8 input.txt > output.txt
ConvertToUTF8 的兼容性问题很实际
Sublime Text 4 默认已支持自动检测 GBK/Big5,ConvertToUTF8 反而可能干扰内置逻辑,尤其在混合编码的项目里。
性能影响不大,但容易踩的坑不少:
- 升级 Sublime Text 后插件失效,报错
ImportError: No module named 'sublime_lib'—— 这是因为插件依赖过时的库,建议直接弃用 - 和
IMESupport或某些输入法插件冲突,导致中文输入卡顿或光标错位 - 在远程开发(如 Sublime SFTP)中,插件无法作用于未下载到本地的文件
Git 和终端环境下编码问题更值得盯紧
你用 Sublime 把文件“看起来”转好了,但 git status 可能显示修改,cat file.txt 在终端仍是乱码——因为系统 locale 没配,或 Git 没设 core.autocrlf 和 i18n.commitencoding。
- 检查终端是否支持 UTF-8:
locale | grep UTF,若无输出,需设置export LANG=en_US.UTF-8 - Git 提交前确认:
file -i filename输出应含charset=utf-8,不是charset=unknown-8bit - Windows 上用 Git Bash,记得关掉
core.autocrlf true(改为false),否则换行符+编码双重混乱

















