有时候需要在ruby中输出中文,当时很多情况下会遇到输出中文是乱码或者根本没有办法运行文件的问题。
如下面的程序:
food = ["米饭","黑米","饺子","面条","面包"];
puts food;
for item in food
puts item;
end在运行的时候输出是这样的:
watkins@watkins:~/temp/workspace/ruby$ ruby compile.rb
compile.rb:1: invalid multibyte char (US-ASCII)
compile.rb:1: invalid multibyte char (US-ASCII)
compile.rb:1: syntax error, unexpected $end, expecting ']'
food = ["米饭","黑米","饺子","面条","面包"];
^
watkins@watkins:~/temp/workspace/ruby$
报告出现错误
为了解决在ruby中输出中文的问题,应该在ruby的文件最顶部添加下行代码,指定编码方式
#encoding:gbk
#encoding:gbk
food = ["米饭","黑米","饺子","面条","面包"];
puts food;
for item in food
puts item;
end然后就可以正确的执行了。
watkins@watkins:~/temp/workspace/ruby$ ruby compile.rb
米饭
黑米
饺子
面条
面包
米饭
黑米
饺子
面条
面包
watkins@watkins:~/temp/workspace/ruby$
本文介绍了一个常见的Ruby编程问题——如何正确地在Ruby程序中输出中文字符。通过在Ruby文件顶部添加特定的编码声明,可以避免因编码问题导致的乱码或无法运行的情况。
274

被折叠的 条评论
为什么被折叠?



