what
sublime是个很好用的工具,但是相信大家都遇到过一个很困扰大家的问题:打开一个文件,里面的中文都是乱码。
why
原因是sublime对GBK和GB2312编码不支持,而很多编辑器都使用GBK,遇到中文等超出ascii范围的编码都不能解析。
how
网上搜索到一些解决方案,其中最方便的是使用命令行安装package control后,安装“ConvertToUTF8”或“GBK Encoding Support”插件。
具体步骤:
Control+‘~’打开控制台
-
如果是Sublime Text3,输入
import urllib.request,os,hashlib; h = '7183a2d3e96f11eeadd761d777e62404' + 'e330c659d4bb41d3bdf022e94cab3cd0'; pf = 'Package Control.sublime-package'; ipp = sublime.installed_packages_path(); urllib.request.install_opener( urllib.request.build_opener( urllib.request.ProxyHandler()) ); by = urllib.request.urlopen( 'http://packagecontrol.io/' + pf.replace(' ', '%20')).read(); dh = hashlib.sha256(by).hexdigest(); print('Error validating download (got %s instead of %s), please try manual install' % (dh, h)) if dh != h else open(os.path.join( ipp, pf), 'wb' ).write(by)
-
Sublime Text2:
import urllib.request,os,hashlib; h = '7183a2d3e96f11eeadd761d777e62404' + 'e330c659d4bb41d3bdf022e94cab3cd0'; pf = 'Package Control.sublime-package'; ipp = sublime.installed_packages_path(); urllib.request.install_opener( urllib.request.build_opener( urllib.request.ProxyHandler()) ); by = urllib.request.urlopen( 'http://packagecontrol.io/' + pf.replace(' ', '%20')).read(); dh = hashlib.sha256(by).hexdigest(); print('Error validating download (got %s instead of %s), please try manual install' % (dh, h)) if dh != h else open(os.path.join( ipp, pf), 'wb' ).write(by)
安装后重启
command+shift+p,输入Install package
输入“ConvertToUTF8”或“GBK Encoding Support”,然后回车安装
重启后就可以看到中文了。
however
如果你一路畅通,现在已经能正常显示GBK了,那么后面的废话就可以不用看了。可能网控或其他原因,我的直接安装过程是不成功的,只能另辟蹊径。
then
手动下载插件,拷贝到对应目录下。
ConvertToUTF8
https://github.com/seanliang/ConvertToUTF8
按照上述url,进入后,点击Download zip下载zip文件,解压,改名为ConvertToUTF8
找到packages目录,简单方式,打开sublime–Preference–Browse Packages,进入Packages目录,把上一步骤的文件夹拷贝过来
Codecs33
https://github.com/seanliang/Codecs33/tree/osx
- 接着下载
接着改名:Codecs33
接着拷贝
好了,Congratulations, 重启一下Sublime,相信已经大功告成!