说到 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编码;尤其是空文件,保存后连字节都没有,更谈不上什么编码。

正确配置 Preferences → Settings – User

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

{  "default_encoding_on_sa ve": "UTF-8",  "fallback_encoding": "GBK",  "detect_indentation": false}

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

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

插件要不要装?看场景

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

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

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