背景返回目录

最近在用Sublime作为开发环境学习Ruby,本文就记录一下Ruby和Sublime在编码方面的问题。

Sublime相关返回目录

默认的文件存储编码:UTF8返回目录

Sublime文件默认存储编码为UTF8,我们几乎不用修改这个选项。

默认的输出控制台编码:UTF8返回目录

在按快捷键【Control + B】执行代码的时候,所有输出都会被Python(Sublime是用Python开发的)接收,然后输出到控制台,输出的字符串编码必须是UTF8编码。

修改默认的输出控制台编码返回目录

注意:开发Ruby是不用修改这个文件的。

第一步:找到D:\Program Files\Sublime Text 2\Pristine Packages\Ruby.sublime-package这个文件并用压缩软件打开。

第二步:编辑压缩包中的这个文件:Ruby.sublime-build。

第三步:修改文件并将其保存到压缩包中,修改内容如下:

1 {
2 "cmd": ["ruby", "$file"],
3 "file_regex": "^(...*?):([0-9]*):?([0-9]*)",
4 "selector": "source.ruby",
5 "encoding": "utf-8"
6 }

第四步:重启Sublime。

Ruby相关返回目录

默认的代码解析编码为:ASCII返回目录

我们可以修改这个配置,在第一行增加如下注释即可:

1 # coding: utf-8

注意:Ruby1.9可以使用这个注释,2.0会自动根据存储编码进行解析的;这行注释只影响源代码的词法结构,例如:可以使用中文变量名、字符串字面量的编码为UTF8。

和编码相关的一些方法返回目录

1 # coding: utf-8
2
3 puts __ENCODING__ # 源文件编码:UTF-8
4 puts Encoding.default_external # 运行环境编码:GBK
5 puts Encoding.locale_charmap # 本地环境编码:CP936
6 puts "段光伟".encoding # 字面量编码:UTF-8

如何在Sublime中输出用Ruby执行命令行工具的返回结果返回目录

用ruby执行命令行工具返回的结果是GBK编码,必须转换为UTF8才能输出到Sublime控制台。

1 # coding: utf-8
2
3 puts __ENCODING__ # 源文件编码:UTF-8
4 puts Encoding.default_external # 运行环境编码:GBK
5 puts Encoding.locale_charmap # 本地环境编码:CP936
6 puts "段光伟".encoding # 字面量编码:UTF-8
7
8 dir = `dir`.encoding # 命令行返回结果编码:GBK
9 puts `dir`.encode("utf-8") # 必须转码后才能被Sublime输出到控制台

注意:如果不用Sublime开发,直接在命令行运行ruby程序是不需要转换的。

备注返回目录

字符集和编码我还没有入门,有这方面资料的朋友记得给我推荐一下。

参考资料返回目录

http://www.360doc.com/content/12/0511/09/992979_210237955.shtml

http://www.cnblogs.com/skynet/archive/2011/05/03/2035105.html

Sublime中开发Ruby的更多相关文章

  1. Ruby:Sublime中开发Ruby需要注意的Encoding事项

    背景 最近在用Sublime作为开发环境学习Ruby,本文就记录一下Ruby和Sublime在编码方面的问题. Sublime相关 默认的文件存储编码:UTF8 Sublime文件默认存储编码为UTF ...

  2. [Tool] 使用Sublime Text开发Objective-C

    [Tool] 使用Sublime Text开发Objective-C 前言 随着iPhone的热卖,开发iPhone APP所使用的Objective-C,也慢慢成为了热门的程序语言之一.本篇文章介绍 ...

  3. 已解决】Sublime中运行带input或raw_input的Python代码出错:EOFError: EOF when reading a line(转)

    [问题] 在折腾: [已解决]Sublime Text 2中运行Python程序出错:The system cannot find the file specified 的过程中,虽然解决了找不到py ...

  4. sublime 前端开发工具

    http://code.kpman.cc/2014/10/14/sublime-text-3-mac-%E6%8C%87%E5%8D%97/ gif 屏幕录制:http://recordit.co/ ...

  5. 如何在sublime中使用sass

    搞了好久,终于把sass搞定了. 最开始,我是想使用koala来实现对sass的实时编译的,但是每当我保存的时候,总是弹出erro错误,即无法编译生成css文件,百度了半天,问了好久,这个问题还是没能 ...

  6. sublime中css输入分号后自动提示的烦恼

    sublime开发前端确实好用,有好多些个的插件,轻量便捷,但是在使用sublime中的一些插件的时候总是会遇到困扰,跟自己想象中的不一样,比如在使用SublimeCodeIntel插件的时候,就会遇 ...

  7. sublime 下面开发

    sublime 下面开发 开发 ptyon 简单环境 1. 下载sublime 3 https://download.sublimetext.com/Sublime%20Text%20Build%20 ...

  8. 如何在sublime中使用sftp

    在开发中我们通常会遇到一个问题——如何通过一款编辑器(或者IDE)便捷的同步线上代码.目前比较热门的编辑器有sublime,atom等,他们都有sftp功能,鉴于本人更喜欢用轻量级的编辑器,那我就在这 ...

  9. Openfire3.9.3源代码导入eclipse中开发配置指南

    这篇文章向大家介绍一下,如何把openfire3.9.3源码导入eclipse中,编译并启动的详细过程. 首先得感谢这篇文章的作者,http://www.micmiu.com/opensource/o ...

随机推荐

  1. HDU多赛学校9 HDU4969 Just a Joke 【数学积分】

    数学题目 意甲冠军:的男孩向圆上的女孩跑去,保持男孩女孩圆心在同一条直线上.这过程中,男孩女孩均匀速 给出男孩女孩速度,圆的半径,男孩最长能跑的距离 问男孩是否能跑到女孩那里 能够用积分来解这道题,我 ...

  2. javascript正则表达式小数类型

    假设你要阅读并了解什么,能阅读.假设只需要结果,直接跳转到这篇文章的结尾. 有使用前需求javascript正则表达式匹配小数类型,后来,他们已经写是不完全正确的识别. 后来在网上找了很多,甚至包含一 ...

  3. 教你一步一步部署.net免费空间OpenShift系列之一------帐号注册和验证

    前几天有博友发布了一篇文章<一键部署mono 免费空间支持ASP.NET MVC 再也不担心伙食费换空间了>,支持MVC3和域名绑定,觉得不错,于是自己实践了一下,发现自己实际遇到的问题真 ...

  4. 【百度地图API】如何在地图上添加标注?——另有:坐标拾取工具+打车费用接口介绍

    原文:[百度地图API]如何在地图上添加标注?--另有:坐标拾取工具+打车费用接口介绍 摘要: 在这篇文章中,你将学会,如何利用百度地图API进行标注.如何使用API新增的打车费用接口. ------ ...

  5. .NET Framework 各版本区别

    .NET Framework 各版本区别 .NET Framework 1.1 自1.0版本以来的改进:自带了对mobile asp .net控件的支持.这在1.0版本是以附加功能方式实现的,现在已经 ...

  6. 使用Webbrowser的一点心得体会

    原文:使用Webbrowser的一点心得体会 自从用上VS2005后,发现多了个WebBrowser控件(.net 2003中不带),为图方便吧,有好多小工具就用这个写的,慢慢也有点体会了,总结一下, ...

  7. MongoDB学习笔记&lt;两&gt;

    继续有shell学问,他们继续研究的例子,下面的知识: --文档数据插入 --文档数据删除 --文档数据更新 如下面的详细信息: 1.插入文档 db.person.insert({"name ...

  8. SQL点滴18—SqlServer中的merge操作,相当地风骚

    原文:SQL点滴18-SqlServer中的merge操作,相当地风骚 今天在一个存储过程中看见了merge这个关键字,第一个想法是,这个是配置管理中的概念吗,把相邻两次的更改合并到一起.后来在tec ...

  9. MVC无刷新分页

    MVC无刷新分页(即局部刷新,带搜索,页数选择,排序功能)   我查看了很多网站,大部分评论分页都是局部刷新的,可大部分电商商品展示分页都是有刷新页面的,于是我便做了一个商品展示无刷新分页的例子.接下 ...

  10. VS SQL 出现%CommonDir%dte80a.olb 该解决方案

    VS SQL  出现%CommonDir%dte80a.olb  该解决方案 在网上搜索解决方法的时候.别人就说你从别的电脑复制一个到C:\Program Files\Common Files\mic ...