目录树乱码是因Sublime Text 4默认用UTF-8解析Windows GBK路径所致,非汉化或字体问题;有效解法为启动加参数 -encoding=GBK 或注册表设 filesystem_encoding=GBK,并禁用干扰插件。

汉化本身不会导致目录树乱码——Sublime Text 的界面语言和文件系统编码是两套独立机制。目录树(侧边栏)显示乱码,只说明它读取文件名时用了错误的字符集解码规则,常见于 Windows 系统下 GBK 编码的路径被当成 UTF-8 解析。
为什么侧边栏文件名显示“锟斤拷”或方块
Windows 文件系统默认用 GBK(或 CP936)存储中文路径,而 Sublime Text 4 默认以 UTF-8 解析目录名字节流。当它把 0xC4, 0xE3(GBK 下“我”)当作 UTF-8 字节去解,必然失败,显示为乱码。这不是汉化惹的祸,也不是字体问题,是解码链路错配。
Sublime Text 4 必须改 default_encoding_on_save?不,那是保存文件用的
目录树乱码跟文件保存编码完全无关,default_encoding_on_save 控制的是 Ctrl+S 写入磁盘时的编码,对读取文件系统路径毫无影响。网上很多教程混淆了“文件内容编码”和“文件名编码”,照搬配置只会白忙活。
真正有效的修复方式只有两个
以下操作在 Windows + Sublime Text 4(2026 年稳定版)下验证有效:
- 最简方案:启动 Sublime 时加参数
-encoding=GBK(仅 Windows 有效)。例如创建快捷方式,目标栏改为:"C:\Program Files\Sublime Text\sublime_text.exe" -encoding=GBK。重启后侧边栏立即正常 - 兼容性更强的方案:改注册表,让 Sublime 启动时继承系统 ANSI 代码页。运行
regedit,定位到HKEY_CURRENT_USER\Software\Sublime Text\Settings,新建字符串值filesystem_encoding,值设为GBK(注意大小写,不能写gbk或UTF-8) - 别碰
fallback_encoding:ST4 已彻底移除该字段支持,写进去等于没写 - 禁用所有“自动编码检测”插件:如
ConvertToUTF8、GBK Support等,它们会劫持路径解析逻辑,反而加剧乱码
为什么 Notepad++ 不乱码而 Sublime 会
Notepad++ 直接调用 Windows API GetCommandLineW() 获取宽字符路径,天然绕过编码转换;Sublime 基于跨平台框架(libuv),在 Windows 上仍走 POSIX 风格路径解析,必须显式指定文件系统编码。这个差异不是 bug,是设计取舍——意味着你不能指望“装个插件就自动好”,必须手动对齐系统底层约定。
最易被忽略的一点:修改注册表或快捷方式参数后,必须彻底关闭所有 Sublime 进程(包括后台托盘进程),否则新设置不生效。任务管理器里杀掉所有 sublime_text.exe 才算真正重启。


















