Sublime Text 2 标签名字和GBK文件中文乱码问题解决方法
最近在使用Sublime Text作为一些js等脚本文件的编辑器,此编辑器相当的不错,现在插件也是相当的多,免注册版本可以无限制的使用。当然他也有不足,到目前为止官方还不 支持GBK系统的编码,虽然我们目前大部分项目都是UTF-8的,但是难免还是会用到GBK等中文编码。我安装了GBK Encoding Support这款插件可以解决打开GBK编码的文件中文乱码的问题,但是随之而来的确是tab显示的标题乱码了,不怎么好看,大家可以参看下图:
于是自己动手丰衣足食,我就修改了一下原作者的代码,修改代码文件的路径如下:C:\Users\你的用户名\AppData\Roaming\Sublime Text 2\Packages\GBK Encoding Support\sublime_gbk.py,达到我的目的,当然这样我就把原来文件的gbk给转换成了utf-8了。大家看代码吧,注释部分原作者的代码,newline注释下面的是我修改的代码:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
|
#coding: utf8
import sublime, sublime_pluginimport os, reimport urllibTEMP_PATH =os.path.join(os.getcwd(), 'tmp')
SEPERATOR = ' '
def gbk2utf8(view):
try:
reg_all = sublime.Region(0, view.size())
gbk = view.substr(reg_all).encode('gbk')
except:
gbk = file(view.file_name()).read()
text = gbk.decode('gbk')
file_name = view.file_name().encode('utf-8')
#tmp_file_name = urllib.quote_plus(os.path.basename(file_name)) + SEPERATOR + urllib.quote_plus(file_name)
#tmp_file = os.path.join(TEMP_PATH, tmp_file_name)
#f = file(tmp_file, 'w')
#newline
f = file(view.file_name(),'w')
f.write(text.encode('utf8'))
f.close()
window = sublime.active_window()
#newline
v = window.find_open_file(file_name)
#v = window.find_open_file(tmp_file)
if(not v):
#newline
#window.open_file(tmp_file)
window.open_file(file_name)
window.focus_view(view)
window.run_command('close')
window.focus_view(v)
sublime.status_message('gbk encoding detected, open with utf8.')
|