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

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

目录

背景Sublime相关默认的文件存储编码:UTF8默认的输出控制台编码:UTF8修改默认的输出控制台编码Ruby相关默认的代码解析编码为:ASCII和编码相关的一些方法如何在Sublime中输出用Ruby执行命令行工具的返回结果备注参考资料

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

返回目录

返回目录

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

返回目录

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

返回目录

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

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

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

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

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

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

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

第四步:重启Sublime。

返回目录

返回目录

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

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

1 # coding: utf-8

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

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

返回目录

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

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:Sublime中开发Ruby需要注意的Encoding事项

返回目录

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

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

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    Ruby:Sublime中开发Ruby需要注意的Encoding事项

注意:如果不用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,本文就记录一下Ruby和Sublime在编码方面的问题。

返回目录

返回目录

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

返回目录

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

返回目录

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

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

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

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

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

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

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

第四步:重启Sublime。

返回目录

返回目录

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

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

1 # coding: utf-8

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

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

返回目录

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

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:Sublime中开发Ruby需要注意的Encoding事项

返回目录

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

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

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    Ruby:Sublime中开发Ruby需要注意的Encoding事项

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

返回目录

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

返回目录

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

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