解决乱码,让Sublime Text 2支持GB2312和GBK

Sublime Text 2是一个非常不错的源代码及文本编辑器,但是不支持GB2312和GBK编码在很多情况下会非常麻烦。不过Sublime Package Control所以供的插件可以让Sublime Text 2几乎完美地支持CJK编码的文本。

安装Sublime Package Control非常简单,在Sublime Text 2上用Ctrl+~打开控制台并在里面输入以下代码,或者是官方提供的代码。Sublime Text 2就会自动安装Package Control。

import urllib2,os; pf='Package Control.sublime-package'; 
ipp=sublime.installed_packages_path();<br />os.makedirs(ipp) if not os.path.exists(ipp) else None; 
urllib2.install_opener(urllib2.build_opener(urllib2.ProxyHandler())); 
open(os.path.join(ipp,pf),'wb').write(urllib2.urlopen('http://sublime.wbond.net/'+pf.replace(' ','%20')).read()); 
print 'Please restart Sublime Text to finish installation'

如果该方法不能正确的安装,也可以通过复制文件的方法直接安装。如果Sublime Text 2被安装在有中文的路径下,或者系统路径的%username%包含中文字符的话,可能需要进行手动安装。

  1. 打开Preferences菜单,并选择 Browse Packages…
  2. 系统会打开Sublime Text 2的Packages文件夹,回到上一级菜单,然后打开Installed Packages文件夹
  3. 下载并将下载的Package Control.sublime-package拷贝到Installed Packages文件夹(注意此处是Installed Packages,不是Packages文件夹)
  4. 重启Sublime Text 2

然后使用Ctrl+Shift+P打开命令行模式,在里面输入Install Package即可搜索需要的Package。一般使用“ConvertToUTF8”和“GBK Encoding Support”即可正常读取和写入CJK格式的文件了。

同样如果Sublime Text 2被安装在有中文的路径下,或者系统路径的%username%包含中文字符的话,可能需要进行手动安装这些Package,并把它们拷贝到Package目录下。

相关文章

Loading Facebook Comments ...

“解决乱码,让Sublime Text 2支持GB2312和GBK”的51个回复

  1. 这个文章给我提供了必要的帮助 说一声谢谢 同时说一下 推荐的第二个插件在标签的编码处理上还是有问题的 希望作者能提醒一下或者是 告诉我 我有什么没有做好的地方

    1. 对于”GBK Encoding Support”,是保存的时候出现问题,还是打开后就有问题?
      如果正确的安装GBK Support,打开文档后就已经不是乱码了。保存的时候可以选择Save as GBK或者Save as UTF-8(在Exit的下面)。

        1. 是的,因为为了不覆盖原文档,插件会在内存中生成一份原文档的拷贝。所以文件名会有一段随机文字以示区分。但保存的时候是保存到原文档,而不用重命名。

    2. 如果您用”ConvertToUTF8”,打开文件的一瞬间可能是乱码,然后插件被加载后就会自动正常显示,而且在左下角会显示当前文本的编码方式。
      您也可以手动选择”Set File Encoding to“=》GBK,BIG5,JIS,UTF-8等。
      我一般使用ConvertToUTF8。

    1. 但在Sublime Text 2写的htm代码还是不能自动支持GBK呀。请问如何设置?
      具体情况如下: Sublime Text 2编写的htm代码,用浏览器(GBK编码)打开如果有中文都是乱码,但是先用笔记本写一点htm代码,再拿到Sublime Text 2去修改,却能支持中文。求助,如何解决直接在Sublime Text 2里写代码,能在浏览器(GBK编码)打开支持中文?

      1. 我编写了几个页面,似乎没有发现问题。

        html 1: charset=gbk,文件保存为GBK
        html 2: charset=utf-8,文件保存为GBK
        html 3: charset=gb2312,文件保存为GBK

        在IE和Chrome下,和预期一样只有html 2是乱码。
        以gbk和gb2312作为charset,以GBK保存,在浏览器都正常显示。
        我仅仅用了ConvertToUTF 8插件

  2. 我也试过这款编辑器,非常差,你说的这两个插件只是支持用st打开的文件,像查找替换文件夹里的不用打开文件,所以还是不支持gbk中文的。还有宏也垃圾。害的我花了好几天来研究这鸡肋。

    1. 世界上没有一个完美的编辑器。
      是的,Sublime Text是不支持在”Find”=>”Find in file”里面对未打开的GBK文档进行搜索的替换。
      如果您的工作需要大量涉及到GBK问题,还是建议避免使用Sublime Text,因为他并不适合您。

      不过对于GB和GBK编码,我一直认为:如果不涉及到一定要遵守国家标准(GB)的项目(多半是国企/事业单位项目了),用UTF-8吧,哪怕是个人网站或者是Dz论坛,除了修改插件和主题累一点,你会发现在后续独立开发以及维护中,UTF-8会避免掉许多的问题,特别是数据库问题。

      1. 我用Subline test2写个java文件,里面有个打印语句带中文,例如System.out.println(“我是小赵”);保存,接着编译,报错—提示—> 错误: 编码GBK的不可映射字符,我用其他编辑器打开也显示到中文出来,但就是编译有问题,这个得怎么搞

    1. 没有不支持中文。只是中国自己有国标GB而已。
      如果你是UTF8的文本,一切都正常。

      你装了ConvertToUTF8后,路径和文字都不会有乱码。
      用什么编辑器那是看个人的所爱,也有挺多人喜欢用Win默认的记事本呢。

    1. 目前Package Control只支持手动安装
      或者通过Git从GitHub获得(因为需要HTTPs,GitHub提供免费Https的源)

      我的SubLime Text 3已经能正常使用Package Control了,还没发现什么大问题。

  3. Pingback: 解决乱码,让Sublime Text 2支持GB2312和GBK – Need Not to Know | Eddy
    1. 是的 目前也只能用用这个方式安装。
      我也用的是Git的方法 在Sublime上用Alpha版本的Package control。
      可能等Sublime和Package Control都进入正式版后,应该会有更简单的方式。
      (虽然Git使用不难,不过整合过程还是略微繁琐了)

    1. “https://sublime.wbond.net/repositories.json”是对应库的文件,应该是这样的一个JSON类型文本文件: (省略号省略若干正文)

      {“package_name_map”: {}, “renamed_packages”: {“SublimeClarion”: “Clarion”, “IncDecValue”…………………
      “https://raw.github.com/Hexenon/FoxCode/master/packages.json”, “https://raw.github.com/Kaizhi/SublimeUpdater/master/packages.json”, “https://raw.github.com/Kasoki/FancyProjects/master/packages.json”, “https://raw.github.com/Learning/sublime_packages/master/packages.json”, ……………………………………..

      请确保不是网络问题。因为Package Control拿不到库,所以找不到你查找的插件,从而显示There are no packages available for installation。

      如果你用浏览器确保能下载到repositories.json,可以重装Package Control。删掉对应目录,重启SublimeTest然后重新安装Package Control,再安装插件。

      Hope it helps

    1. 您好,我刚刚在本地卸载了ConvertToUTF-8然后在安装。
      一切都正常。 我的SublimeTest也是2.0.2 build 2221的。

      请检查你的网络设置以及代理配置的状况。
      以及重要的: https://sublime.wbond.net/channel.json 这个里面的内容能不能正常访问。
      因为许多Package是在GitHub托管,请确保GitHub在你所在的位置没有被GFW墙(奸)掉。。。
      比如:https://raw.github.com/seanliang/ConvertToUTF8/master/packages.json

  4. Pingback: 解决乱码,让Sublime Text 2支持GB2312和GBK | 小王的技术博客
  5. Pingback: 解决乱码,让Sublime Text 2支持GB2312和GBK

发表评论

电子邮件地址不会被公开。 必填项已用*标注