Ruby 文件中如果存在中文字符且未指定编码,在执行过程会出现报错:
#!/usr/bin/ruby -w puts "你好,世界!";
以上程序执行输出结果为:
invalid multibyte char (US-ASCII)
以上出错信息显示了 Ruby 使用用 ASCII 编码来读源码,中文会出现乱码,解决方法为只要在文件开头加入 # -*- coding: UTF-8 -*-(EMAC写法) 或者 #coding=utf-8 就行了。
所以如果大家再学习过程中,源代码文件中,若包含中文编码,则需要注意两点:
- 1. 必须在首行添加 # -*- coding: UTF-8 -*-,告诉解释器使用utf-8来解析源码。
- 2. 必须设置编辑器保存文件的编码为utf-8。
上面代码可修改为:
#!/usr/bin/ruby -w # -*- coding: UTF-8 -*- puts "你好,世界!";