学习Ruby的过程中,对于于涉及中文的的代码的时候,需要添加如下代码在首行
# encoding: utf-8
或者EMAC写法
# -*- coding : utf-8 -*-
因为Ruby编译器会在注释行搜索coding字样,所以以上两种写法皆可。
样例代码1:
# encoding: utf-8 是=1 puts "我=#{是}"
但是保存运行,却发现如下的提示错误:
$ ruby encoding.rb encoding.rb:4: invalid multibyte char (UTF-8) encoding.rb:4: invalid multibyte char (UTF-8)
本人使用的是eclipse来开发,而eclipse默认使用的又是GBK编码。所以即使在首行添加了encoding还不够,需要修改eclipse的设置,让它保存文件的时候改为utf-8的格式来保存。
设置如下:
Window -> Preferences -> General -> Workspace : Text file encoding
这里选择UTF-8作为文件编码格式。
然后再次运行代码,则不会再提示编码错误。
$ ruby encoding.rb
我=1
总结:
源代码文件中,若包含中文编码,则需要注意两点:
1. 必须在首行添加 #encoding : utf-8,告诉解释器使用utf-8来解析源码
2. 必须设置编辑器保存文件的编码为utf-8.