请问输出的编码问题
脚本编码设为UTF-8了# coding: utf-8str = "张三李四"
new_str = str.split(/(..)/).reverse.join("")
file = File.open('x:\foo.rb.txt', 'w:UTF-8')
file.puts new_str
puts new_str输出的文件foo.rb.txt是UTF-8编码,显示正常
不过最后一行puts new_str是乱码,因为命令行是GBK编码
请问怎么样在脚本用utf-8的情况下,让输出到STDOUT和从STDIN输入的是gbk编码? 自己摸索出来了STDOUT.set_encoding("gbk") 又见编码问题 =-=
转化为 GBK 后再输出 (only for Ruby 1.9):
puts new_str.encode("GBK")
Ruby的方式,和Perl一样,甚至有更多的解决方法。 # encoding: utf-8
[ STDIN, STDOUT, STDERR ].each do |stdio|
stdio.set_encoding( Encoding.locale_charmap, 'utf-8' )
end
页:
[1]