美文网首页
Ruby 使用中文的注意事项

Ruby 使用中文的注意事项

作者: changsanjiang | 来源:发表于2017-10-17 13:27 被阅读23次

在某些 Ruby 运行环境中, 执行包含中文的脚本时, 有可能出现以下错误.

执行示例

> ruby kiritsubo.rb
kiritsubo.rb:1: invalid multibyte char (UTF-8)
kiritsubo.rb:1: invalid multibyte char (UTF-8)

这是编写程序时没有指定程序的编码方式造成的. Ruby 程序的编码方式, 是通过在程序的首行代码添加注释 "#encoding:编码方式" 来指定(编码的规则称为 encoding). 我们称这个注释为 魔法注释( magic comment ).
例如, 使用简体中文版 Windows 常用编码 GBK 编写代码时, 可像下面这样写魔法注释.

# encoding: GBK
print " 话说某个朝代, 后宫宾妃甚多,\n "
print " 其中有一宫女, 出生并不十分高贵, 却蒙圣恩宠爱.\n "

这样指定程序的编码方式后, Ruby 在执行程序时就可以正确识别程序中的中文了. 下表是各平台常用的编码方式. 平台有多个常用编码方式时, 请按照实际情况选择适合的编码方式.

平台 编码方式
Windows GBK( 或者 GB 2312 )
Mac OS X UTF-8
Unix UTF-8

另外, 若没指定魔法注释, Ruby 会默认使用 UTF-8 编码方式. 因此, 在 Ruby 2.0 中, 如果使用 UTF-8 编码方式, 可以省略魔法注释.
除此之外, 使用 p 方法输出中文时, 有时也会出现乱码的情况. 这时, 可以使用 "-E编码方式"这个选项来指定输出结果的编码方式. 例如 希望以 UTF-8 编码方式在控制台输出结果时, 可像下面这样执行命令.

ruby -E UTF-8 脚步文件名   # ruby 执行方式

irb - E UTF-8 # irb 执行方式

相关文章

  • Ruby 使用中文的注意事项

    在某些 Ruby 运行环境中, 执行包含中文的脚本时, 有可能出现以下错误. 执行示例 这是编写程序时没有指定程序...

  • ruby on rails 资料收集录

    Ruby ruby基础教程(中文第四版) 20分钟体验 Ruby Ruby.new Rails Ruby on R...

  • Ruby语法与数据类型

    Ruby的中文编码 运行中文编码要在前面添加一些条件。 Ruby 中的 Here Document "Here D...

  • Mac 构建 App 环境配置

    1、使用配置 安装Ruby(Mac) 如果之前使用rvm安装的ruby,烦请卸载rvm及安装的ruby 使用Hom...

  • Ruby、RVM-使用总结

    Ruby、RVM-使用总结 安装或更新Ruby 方法一:使用Homebrew安装Ruby Homebrew 是什么...

  • Mac: rvm, Ruby, gem 安装&卸载

    1. 查看当前正在使用的 rvm ruby 如果使用的是系统的ruby 看到的结果:/usr/bin/ruby ...

  • Ruby 的相关学习资料整理

    Ruby中文网站 http://www.ruby-lang.org/zh_cn 版本管理网站 RVM: http:...

  • 布局文件使用中文问题

    注意事项使用中文字符串相加的时候必须是偶数,如果是奇数如 就会编译失败 解决办法在strings.xml 定义中文...

  • 【HTML】<ruby>

    根据w3c的定义 标签定义 ruby 注释(中文注音或字符)。在东亚使用,显示的是东亚字符的发音。与 以及 ...

  • CocoaPads安装Ruby升级

    Ruby环境的升级 一、使用RVM也就是Ruby Version Manager,Ruby版本管理器来升级ruby...

网友评论

      本文标题:Ruby 使用中文的注意事项

      本文链接:https://www.haomeiwen.com/subject/nxhduxtx.html