商城首页欢迎来到中国正版软件门户

您的位置: 首页 > 文章列表 > 编程开发 > Sublime怎么设置默认编码为UTF-8?Sublime保存文件编码设置教程

Sublime怎么设置默认编码为UTF-8?Sublime保存文件编码设置教程

  发布于2026-07-17 阅读(0)

扫一扫,手机访问

说到 Sublime Text 的编码设置,坑确实不少。它自己并不会强制要求你一定要用UTF-8来新建或保存文件,所以光改一个default_encoding完全不够用。想要真正摆脱乱码困扰,必须把fallback_encodingdefault_encoding_on_sa ve配套设置好,这才是关键。

Sublime怎么设置默认编码为UTF-8?Sublime保存文件编码设置教程

Sublime Text 原生不强制新建或保存为 UTF-8,光改 default_encoding 不够,必须配对设置 fallback_encodingdefault_encoding_on_sa ve 才能真正解决乱码问题。

为什么改了 default_encoding 还是乱码?

核心原因在于,这个参数在官方文档里已经被标记为“已弃用”了。它主要影响的是新建文件时右下角的显示标识,以及“另存为”对话框里默认勾选的编码选项——但请注意,它并不控制实际保存行为。你看到右下角显示“UTF-8”,并不代表磁盘上那个文件真的就是UTF-8编码;尤其是空文件,保存后连字节都没有,更谈不上什么编码。

  • 真正决定“Ctrl+S写入什么编码”的,是 default_encoding_on_sa ve。不是 sa ve_encoding,也不是什么 convert_to_utf8_on_sa ve,别搞混。
  • fallback_encoding 控制的是打开无BOM、无编码声明文件时的解码策略。Windows下默认是 Western (Windows 1252),一打开GBK中文文件,十有八九就全乱码了——这才是日常乱码的罪魁祸首。
  • 网上流传的 "convert_to_utf8_on_sa ve": true,是ConvertToUTF8插件的专属字段,Sublime原生根本不认,加了也没用。

正确配置 Preferences → Settings – User

打开菜单 Preferences → Settings,在右侧用户设置文件里写入以下JSON(注意逗号、引号、大小写都不能错):

{  "default_encoding_on_sa ve": "UTF-8",  "fallback_encoding": "GBK",  "detect_indentation": false}
  • default_encoding_on_sa ve:设为 "UTF-8" 后,每次保存都强制以UTF-8编码写盘(无BOM)。
  • fallback_encoding 设为 "GBK":让老项目里的中文文本文件一打开就能正常显示,避免被误判成Windows-1252。
  • 不要加 default_encoding ——它已弃用,且与 default_encoding_on_sa ve 冲突时优先级更低,反而可能添乱。
  • detect_indentation 关掉:防止Sublime根据首行缩进反向推断并覆盖你的编码设置。

已有乱码文件怎么救?状态栏别瞎点

状态栏右下角有一个编码名的显示(比如 Western (Windows 1252)),点击它只是让Sublime“用这个编码重新解码当前内存里的内容”,并不会改动磁盘上的字节,也不会进行转码。盲目点选 UTF-8,很可能把GBK字节当UTF-8来解,结果乱上加乱。

  • 先确认原始编码:如果乱码但中文轮廓还能隐约看到(比如“浣犲ソ”这种),大概率是GBK。点状态栏 → Reopen with Encoding → GBK
  • 文字恢复正常后,再点状态栏 → Sa ve with Encoding → UTF-8,这样才真正把GBK字节转成UTF-8字节写入磁盘。
  • 如果原文件是UTF-8 with BOM,但显示异常,选 Reopen with Encoding → UTF-8 即可,不需要Sa ve with Encoding。
  • 批量处理老文件时,别靠Sublime一个个手动操作。用命令行工具效率更高,比如 iconv -f GBK -t UTF-8 file.txt > file_utf8.txt

插件要不要装?看场景

ConvertToUTF8 插件确实能自动识别GBK并以UTF-8方式显示,但它本质上是一个“前端渲染层适配”,不是底层编码转换器。它的作用边界很清晰:

  • 适合:频繁切换打开GBK/UTF-8混合项目的个人开发场景,省去手动Reopen的步骤。
  • 不适合:需要Git提交干净UTF-8、CI构建校验、或交付给没装插件的同事时——这些场景必须依靠真实字节层面的 default_encoding_on_sa ve
  • 它不修改 default_encoding_on_sa ve 的行为,两者可以共存,但别指望插件能帮你绕过核心配置。
  • 插件无法修复已被错误“Sa ve with Encoding”两次导致的双重乱码文件。

最容易忽略的一点是:所有这些设置都只生效于本地。团队协作时,必须把 "default_encoding_on_sa ve": "UTF-8" 写入 .sublime-project 文件,才算真正落地,否则别人打开照旧乱码。

本文转载于:https://www.php.cn/faq/2348148.html 如有侵犯,请联系zhengruancom@outlook.com删除。
免责声明:正软商城发布此文仅为传递信息,不代表正软商城认同其观点或证实其描述。

热门关注