macOS屬於Unix分支,默認使用UTF-8編碼,當從Window 或者其他Linux 或 Unix系統 拷貝文件過來,由於Window系統使用GBK或者GB2312中文編碼,所以會出現亂碼現象.
安裝 ConvertToUTF8 插件
使用Sumbilme Text 插件ConvertToUTF8 可以很容易解決該問題.
要安裝這個插件,首先要安裝 Sublime Text 的 Package Control,安裝方法如下:
打開Sublime Text,按Ctrl + ~打開控制台
在 https://packagecontrol.io/installation 根據你的 Sublime Text 版本選擇對應的安裝代碼,將代碼輸入控制台后回車,之后便會自動下載並安裝 Package Control,安裝完成后需要重啟Sublime Text 。
也就是輸入如下代碼:
Sublime Text 3:
import urllib.request,os,hashlib; h = 'df21e130d211cfc94d9b0905775a7c0f' + '1e3d39e33b79698005270310898eea76'; 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 urllib2,os,hashlib; h = 'df21e130d211cfc94d9b0905775a7c0f' + '1e3d39e33b79698005270310898eea76'; pf = 'Package Control.sublime-package'; ipp = sublime.installed_packages_path(); os.makedirs( ipp ) if not os.path.exists(ipp) else None; urllib2.install_opener( urllib2.build_opener( urllib2.ProxyHandler()) ); by = urllib2.urlopen( 'http://packagecontrol.io/' + pf.replace(' ', '%20')).read(); dh = hashlib.sha256(by).hexdigest(); open( os.path.join( ipp, pf), 'wb' ).write(by) if dh == h else None; print('Error validating download (got %s instead of %s), please try manual install' % (dh, h) if dh != h else 'Please restart Sublime Text to finish installation')
按Ctrl + Shift + P打開萬能搜索框,然后輸入install package回車,這時候會加載所有的packages列表。
看到列表之后再輸入ConvertToUTF8回車,就會下載安裝這個包了。
裝好之后無需重啟Sublime Text亂碼就可以正常顯示中文了.
安裝 GBK2312 插件
Window平台拷貝過來文件,一般還需要安裝GB2312插件,否則會出現如下錯誤
File: /Users/xxx/yyy.cc Encoding: GB2312 Error: Codecs missing Please install Codecs33 plugin (https://github.com/seanliang/Codecs33/tree/osx).
根據GitHub地址找到相應的插件安裝即可.