Sublime Text 新建文件默认编码为系统编码(如 Windows 的 GBK),需修改 Preferences.sublime-settings 添加 "default_encoding": "UTF-8" 和 "save_with_encoding": "UTF-8" 以确保新建与保存均为 UTF-8,且注意大小写与短横、项目级配置及文件真实编码确认。

Sublime Text 默认编码不是 UTF-8?改配置文件最稳
Sublime Text 新建文件默认用的是系统编码(Windows 常是 GBK),不是 UTF-8,一保存中文就乱码。这不是插件问题,也不靠快捷键临时切换,得改全局设置。
直接编辑 Preferences.sublime-settings 文件,加一行 "default_encoding": "UTF-8" 即可。注意:这个设置只影响新建文件,已打开的文件编码不变。
- 路径在 Sublime 菜单栏 → Preferences → Settings,左右分屏,右侧粘贴配置项
- 别写成
"utf-8"或"utf8",必须是"UTF-8"(大小写敏感,带短横) - 如果右侧已有
default_encoding,直接改值;没有就加在末尾逗号后、}前
保存时强制转成 UTF-8,避免手动“Reopen with Encoding”
即使设了默认编码,旧文件或从别处复制来的文本可能仍带 GBK 标记,保存时会按原编码写入,导致协作时乱码。需要让 Sublime 在保存前自动转码。
加这行配置:"save_with_encoding": "UTF-8"。它会让每次 Ctrl+S 都先转成 UTF-8 再落盘,不弹提示、不改内容显示,但能保证文件实际字节是标准 UTF-8。
- 和
default_encoding是两回事:前者管“新建”,后者管“保存” - 如果项目要兼容老系统(比如某些嵌入式设备只认 GBK),慎开此选项
- 开启后,用
File → Reopen with Encoding → UTF-8手动转过的文件,下次保存也会走这个流程
为什么改了设置还是乱码?检查文件本身编码状态
Sublime 左下角会显示当前文件实际编码,比如 UTF-8、UTF-8 with BOM、Western (Windows 1252)。显示不是 UTF-8,说明文件没被正确识别或读取 —— 改设置只是预防,不修复已有错误。
- 新建文件显示
UTF-8,说明default_encoding生效了 - 打开一个中文乱码的文件,左下角若显示
Western或空白,点它 → 选Reopen with Encoding → UTF-8 - 如果选了
UTF-8后文字正常了,再点左下角 →Save with Encoding → UTF-8,才真正固化 -
UTF-8 with BOM在 Sublime 里显示正常,但部分 Linux 工具或 Git 会报 warning,建议统一用无 BOM 的UTF-8
跨平台协作时,别依赖个人设置
你的 Preferences.sublime-settings 只影响本地,团队里别人没配就会出问题。真正可靠的方案是配合项目级配置。
- 在项目根目录放
.sublime-project文件,里面写"settings": {"default_encoding": "UTF-8", "save_with_encoding": "UTF-8"} - Git 提交时确保文件本身是 UTF-8 编码(用
file -i filename或 VS Code 底部栏确认),而不是靠编辑器“假装”是 - 如果用
EditorConfig,可在.editorconfig里加charset = utf-8,Sublime 装了 EditorConfig 插件后会优先读它
编码问题从来不是“设个选项就完事”,关键在文件字节流本身是否一致。配置只是帮你少踩坑,不能替代对文件真实编码的确认。

















