我知道在Ruby 1.9中你可以很容易地重新编码这样的字符串。
s = s.encode('UTF-8')
Ruby 1.8中的等价物是什么?什么需要线条它需要。
我看到的所有教程都是不必要的复杂,我不明白发生了什么。
答案 0 :(得分:10)
James Edward Gray II有一个detailed collections of posts处理Ruby 1.8中的编码和字符集问题。标题为Encoding Conversion with iconv的帖子包含详细信息。
总结:iconv
gem完成转换编码的所有工作。确保它已安装:
gem install iconv
现在,您需要知道您的字符串当前的编码方式,因为Ruby 1.8将字符串视为字节数组(没有内部编码)。例如,假设您的字符串位于latin1和你想把它转换成utf-8
require 'iconv'
string_in_utf8_encoding = Iconv.conv("UTF8", "LATIN1", string_in_latin1_encoding)
参数的顺序是: