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

您的位置: 首页 > 文章列表 > 编程开发 > Sublime Text怎么设置默认编码_Sublime Text保存为UTF8教程【规范】

Sublime Text怎么设置默认编码_Sublime Text保存为UTF8教程【规范】

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

扫一扫,手机访问

先说几个核心判断:Sublime Text 原生并不支持“新建即 UTF-8 且自动带 BOM”这种一键式的默认设置。真正起作用的配置其实就两个——default_encoding_on_sa vefallback_encoding。至于网上很多人改的 default_encoding,不仅无效,还容易把问题带偏。

Sublime Text怎么设置默认编码_Sublime Text保存为UTF8教程【规范】

Sublime Text 原生不支持“新建即 UTF-8 且自动带 BOM”这种一键式默认,真正起作用的只有 default_encoding_on_sa vefallback_encoding;改 default_encoding 不仅无效,还可能干扰判断。

为什么改了 default_encoding 还是乱码?

原因很简单:default_encoding 在 Sublime 官方文档里已经被明确标记为“已弃用”。它只影响新建文件时右下角显示的编码标识,以及“另存为”对话框的初始选项——但完全不控制实际的保存行为或打开逻辑。也就是说,你改它,基本等于改了个寂寞。

具体来说:

  • 你看到状态栏写着“UTF-8”,不代表磁盘上那个文件就是 UTF-8 编码的——空文件保存后根本没有写入任何字节,光靠显示没意义
  • 点一下右下角的编码名(比如点“UTF-8”),只是让 Sublime 采用新规则重新解析当前内存里的内容,不会改磁盘上的字节,也不会做转码
  • 网上流传的 "convert_to_utf8_on_sa ve": true,其实是 ConvertToUTF8 插件的私有字段,Sublime 原生根本不认,加了也白加

怎么让 Ctrl+S 强制保存为 UTF-8(无 BOM)?

这个问题的答案很明确:必须设置 default_encoding_on_sa ve。这是唯一决定“按 Ctrl+S 后以什么编码写入磁盘”的配置项。没有第二个选择。

具体操作走一遍:

  • Preferences → Settings – User 右侧添加:"default_encoding_on_sa ve": "UTF-8"
  • 如果有些 Windows 工具强制要求带 BOM,那就写成:"default_encoding_on_sa ve": "UTF-8 with BOM"——注意字符串必须一字不差,"UTF8-BOM""UTF-8+BOM" 这类写法都会静默失效,毫无提示
  • 同时,不要画蛇添足去设 sa ve_encodingconvert_to_utf8_on_sa ve,这些都不是原生字段,Sublime 会直接忽略

为什么旧中文文件一打开就全是方块?

这个问题和“新建”无关,而是打开时解码失败导致的。大多数 Windows 下的 .txt 文件是 GBK 编码且没有 BOM,但 Sublime 默认用 Western (Windows 1252) 去解——两个字节当一个字符读,内容必然崩坏。关键就在 fallback_encoding 上。

分两种情况来看:

  • "fallback_encoding": "GBK":适合本地开发老项目,能直接正确打开记事本保存的中文文件
  • "fallback_encoding": "UTF-8":适合纯跨平台协作场景,但遇到 GBK 文件时仍需手动操作——File → Reopen with Encoding → Chinese (GBK) 后再 Sa ve with Encoding → UTF-8
  • 有一点特别容易忽略:别以为设了 fallback 就能自动转码。它只管“怎么读”,不管“怎么存”。只有读对了,才可能安全地存成 UTF-8。这步做对了,后续才稳

最后再强调一点:default_encoding_on_sa vefallback_encoding 必须配对使用,而且不能和已经弃用的 default_encoding 同时存在。不然优先级会混乱,实际生效的可能是你完全没意识到的那个配置——到时候排查起来,就真得头疼了。

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

热门关注