Sublime Text保存重音字符后重新打开显示乱码的解决方法
Sublime Text 重音字符UTF-8文件打开乱码问题排查与解决
问题现象
运行环境为Windows 10系统 + Sublime Text build 4113版本,异常表现如下:
- 编辑器内直接输入重音字符时显示正常

- 以UTF-8编码保存文件后关闭,再次打开时重音字符无法正常显示

- 异常文件在系统记事本中可正常显示
- 手动执行「以UTF-8编码重新打开」操作无效果,已提前在配置中设置
"default_encoding": "UTF-8" - 含重音字符的文件打开时会被以
.dump格式加载,普通小文件无该异常
打开前后字符对比如下:
正常重音字符:çàéèâîôûêïëäüöÿœ
异常乱码:莽脿茅猫芒卯么没锚茂毛盲眉枚每艙
问题根因
经排查,问题由已废弃的旧版GBK-Support插件导致:该插件检测到文件包含重音字符时,会尝试将文件转换为.dump文件处理,过程中抛出错误,错误日志如下:
Traceback (most recent call last): File "/opt/sublime_text/Lib/python33/sublime_plugin.py", line 892, in on_close callback(v) File "/opt/sublime_text/Lib/python33/sublime_plugin.py", line 152, in profiler return event_handler(*args) File "/home/stormy/.config/sublime-text-3/Installed Packages/GBK Support.sublime-package/sublime_gbk.py", line 58, in on_close if ".dump" in view.file_name(): TypeError: argument of type 'NoneType' is not iterable
该错误仅会修改临时生成的.dump文件内的字符为乱码,原始文件不受影响,这也是手动指定编码重新加载无法解决问题的原因。
解决方案
直接卸载旧版GBK-Support插件即可恢复正常。
内容的提问来源于stack exchange,提问作者WANG Guosheng
相关产品推荐
相关产品推荐

