Ruby、JRuby的puts方法中文乱码问题

问题描述:

从数据库中取的中文在cmd运行模式下正常显示,在rubymine中则是中文乱码,为什么?


注释:
只要文件的编码和终端的编码一致puts方法则可以正常显示,

而puts方法是直接将字符串的字节一次输出,而没有转化为有编码格式的字符串对象 

puts data['humanName']

这句在cmd控制台显示就没有问题

如果终端的编码是utf-8,可以用如下的代码来显示,先使用iconv库转换

puts Iconv.new('gb2312', 'utf-8').iconv(data['humanName'])

上面这句在cmd下确是中文乱码,有进一步验证了 文件的编码和终端的编码一致puts方法则可以正常显示


你可能感兴趣的:(Ruby、JRuby的puts方法中文乱码问题)