ruby处理中文文件,输出的都是"\121\345\433\221",如何能输出中文?

ruby处理中文文件,输出的都是"\121\345\433\221",如何能输出中文?

我写了一个读中文文件的php?name=%BA%AF%CA%FD" onclick="tagshow(event)" class="t_tag">函数,用途是读取并打印一个文本文件的每一行,文本文件是中文,结果输出的都是数字,我该怎么做才能输出中文?
我的代码如下
def get_ts_info
 open('0531.txt') .each{ |x|
 p x
 a = x.split
 p a
 }
end

get_ts_info
print和puts都能正确输出中文
但是p不行
p 是一般调式时所用,比较"底"层的输出,不能处理其他编码.所以输出中文时输出的是编码值。
而且p还不能处理双引号中的转义字符。
puts,printf才是ruby正常的程序输出语句。