发布于2026-07-06 阅读(0)
扫一扫,手机访问
先说一个容易踩的坑:千万别信 Sublime 右下角显示的编码标识,那只是它当前读取文件的方式,跟文件本身的真实编码是两码事。满屏方块的时候,它正用 UTF-8 去解一个 GBK 文件,撞上那是必然的。
要拿到真实编码,最直接的办法是借助系统工具:
file -i 文件名,输出里的 charset= 字段就是答案(比如 charset=gbk)。这两个菜单项功能完全相反,点错一次就可能把能读的文件“转坏”。记住一条原则:
Reopen with Encoding:只改变当前视图的读取方式,不写磁盘,绝对安全。乱码后立刻试 Chinese (GBK)、UTF-8、GB2312,看到中文就停。Sa ve with Encoding:把当前视图内容按新编码重写到磁盘,不可逆。必须在 Reopen with Encoding 确认显示正常后才能用。Convert to UTF-8 选项,千万别碰——它会静默重写,且不提示,原始编码信息直接丢失。fallback_encoding 这个字段不接受标准编码名,写 "UTF-8" 等于没设。Sublime 只认自己的内置标识符。
"fallback_encoding": "Chinese (GBK)" 或 "Western (ISO 8859-1)"。default_encoding 才支持 "UTF-8",它管新建文件和显式保存时的默认编码。"default_encoding": "UTF-8" + "fallback_encoding": "Chinese (GBK)",既能应对新建文件,也能兼容旧项目里的 GBK 文件。"detect_encoding": true——这个开关会让 Sublime 主动跳过 UTF-8 去试 GBK,反而把带 BOM 的 UTF-8 文件判成乱码。建议直接删掉。这不是 Sublime 没设对,而是它悄悄加了 UTF-8 BOM(\xef\xbb\xbf),Python、Git、Shell 脚本都把它当非法字符。
xxd 文件名 | head -n1,输出不含 ef bb bf 才算干净。"sa ve_with_bom": false。sa ve_with_bom: true,再保存就会把 BOM“传染”给其他文件。真正棘手的是混合编码——比如从 Word 复制粘贴进来的文本含隐藏控制字符,或者同一个文件开头是 UTF-8 BOM、中间混着 GBK 字节。这种情况,Reopen with Encoding 只能修复局部,得先用 UTF-8 打开,再手动清理异常字符。当然,如果只是日常处理常见编码,上面的配置组合已经足够应对大多数场景了。
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
正版软件
正版软件
正版软件
正版软件
正版软件
1
2
3
7
8