Sublime怎么设置文件默认编码格式 Sublime新建文件编码配置【设置】

发布时间 - 2026-01-25 00:00:00    点击率:
Sublime Text 新建文件默认编码为 UTF-8(无 BOM),无法通过设置直接改为带 BOM;需用 "default_encoding_on_save": "UTF-8 with BOM" 控制保存编码,或通过快捷键绑定 set_

encoding 命令实现新建后快速切换。

Sublime Text 新建文件默认编码是 UTF-8,但不带 BOM;如果你保存时没手动选编码,它会按当前文件原有编码或系统 locale 回退,实际行为常不符合预期。

怎么改 Sublime 的新建文件默认编码

Sublime 本身没有“新建文件编码”独立配置项,default_encoding 是个无效设置(官方已弃用)。真正起作用的是 default_encoding_on_save 和保存时的自动检测逻辑。

  • 打开 Preferences → Settings(右侧用户设置面板)
  • 添加这行:"default_encoding_on_save": "UTF-8"
  • 如果需要带 BOM(比如某些 Windows 工具强制要求),改用:"default_encoding_on_save": "UTF-8 with BOM"
  • 注意:这个设置只影响「保存时」的编码选择,不是新建空白文件的初始编码显示——新文件初始显示为 UTF-8,但内容为空时不会写入 BOM,也无实际编码标记

为什么新建文件看起来像 GBK 或乱码

这不是新建文件本身的编码问题,而是 Sublime 在打开一个**未声明编码且含中文的文件**时,会按以下顺序猜测:

  • 先查文件开头是否有 UTF-8 / UTF-16 / UTF-32 BOM
  • 再根据内容字节特征匹配常见编码(如 GBK、BIG5、Shift-JIS)
  • 最后 fallback 到系统 locale(Windows 上常是 GBK,macOS/Linux 是 UTF-8

所以你双击一个旧的 .txt 文件,看到乱码,大概率是它原本是 GBK 编码,而 Sublime 错误识别成了 UTF-8。此时应右下角点击编码名 → 选 Reopen with Encoding → GBK,确认无误后再用 Save with Encoding → UTF-8 转换。

如何让所有新建文件都强制 UTF-8(含 BOM)并自动保存

纯靠设置做不到“新建即带 BOM”,但可通过插件补足:

  • 安装 Package Control 后,装 FileHeaderUnicodeEncoding 插件
  • 更轻量的做法:在 Preferences → Key Bindings 中加一条快捷键绑定:
[
    {
        "keys": ["ctrl+alt+n"],
        "command": "set_encoding",
        "args": {"encoding": "UTF-8 with BOM"}
    }
]

这样新建文件后按 ctrl+alt+n,就立刻切换到带 BOM 的 UTF-8 模式,再输入内容并保存,BOM 就会写入。

真正容易被忽略的是:Sublime 的编码识别是「基于文件内容」而非「基于设置」的。哪怕你把所有配置都设成 UTF-8,只要打开一个没 BOM 的 GBK 文件,它依然会显示乱码——这时候得人工干预,而不是调设置。


# linux  # sublime  # windows  # 编码  # 字节  # 工具  # mac  # macos  # win  # cos  # 为什么  # bom  # sublime text  # 的是  # 个旧  # 绑定  # 就会  # 是个  # 如果你  # 成了  # 这不是  # 双击  # 不符合 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: 在线制作视频的网站有哪些,电脑如何制作视频短片?  如何在阿里云通过域名搭建网站?  如何基于云服务器快速搭建个人网站?  Laravel怎么解决跨域问题_Laravel配置CORS跨域访问  HTML5空格和margin有啥区别_空格与外边距的使用场景【说明】  如何在七牛云存储上搭建网站并设置自定义域名?  php读取心率传感器数据怎么弄_php获取max30100的心率值【指南】  浅谈Javascript中的Label语句  国美网站制作流程,国美电器蒸汽鍋怎么用官方网站?  laravel怎么在请求结束后执行任务(Terminable Middleware)_laravel Terminable Middleware请求结束任务执行方法  详解jQuery中基本的动画方法  Laravel怎么在Blade中安全地输出原始HTML内容  什么是javascript作用域_全局和局部作用域有什么区别?  LinuxCD持续部署教程_自动发布与回滚机制  如何在阿里云服务器自主搭建网站?  Laravel API路由如何设计_Laravel构建RESTful API的路由最佳实践  Win11怎么更改系统语言为中文_Windows11安装语言包并设为显示语言  Laravel如何处理表单验证?(Requests代码示例)  网站设计制作书签怎么做,怎样将网页添加到书签/主页书签/桌面?  Laravel如何编写单元测试和功能测试?(PHPUnit示例)  Laravel数据库迁移怎么用_Laravel Migration管理数据库结构的正确姿势  Internet Explorer官网直接进入 IE浏览器在线体验版网址  ,怎么在广州志愿者网站注册?  手机网站制作平台,手机靓号代理商怎么制作属于自己的手机靓号网站?  北京网站制作费用多少,建立一个公司网站的费用.有哪些部分,分别要多少钱?  Laravel如何使用Gate和Policy进行授权?(权限控制)  JavaScript如何实现音频处理_Web Audio API如何工作?  电商网站制作多少钱一个,电子商务公司的网站制作费用计入什么科目?  香港服务器部署网站为何提示未备案?  如何在 React 中条件性地遍历数组并渲染元素  如何在IIS7上新建站点并设置安全权限?  EditPlus中的正则表达式实战(6)  高性能网站服务器配置指南:安全稳定与高效建站核心方案  用yum安装MySQLdb模块的步骤方法  如何在橙子建站上传落地页?操作指南详解  如何登录建站主机?访问步骤全解析  Laravel如何实现文件上传和存储?(本地与S3配置)  iOS发送验证码倒计时应用  如何在建站之星网店版论坛获取技术支持?  如何在不使用负向后查找的情况下匹配特定条件前的换行符  Laravel Facade的原理是什么_深入理解Laravel门面及其工作机制  详解Huffman编码算法之Java实现  Windows10电脑怎么查看硬盘通电时间_Win10使用工具检测磁盘健康  Win11怎么设置默认图片查看器_Windows11照片应用关联设置  详解Nginx + Tomcat 反向代理 如何在高效的在一台服务器部署多个站点  java中使用zxing批量生成二维码立牌  5种Android数据存储方式汇总  Laravel怎么配置.env环境变量_Laravel生产环境敏感数据保护与读取【方法】  图片制作网站免费软件,有没有免费的网站或软件可以将图片批量转为A4大小的pdf?  猎豹浏览器开发者工具怎么打开 猎豹浏览器F12调试工具使用【前端必备】