在Ruby 1.8中将字符串简单转换为UTF-8

我知道在Ruby 1.9中你可以很容易地重新编码这样的字符串。

s = s.encode('UTF-8') 

Ruby 1.8中的等价物是什么? 什么需要线条它需要。

我看到的所有教程都是不必要的复杂,我不明白发生了什么。

James Edward Gray II 详细介绍了Ruby 1.8中编码和字符集问题的post 。 题为“ 使用iconv进行编码转换 ”的post包含详细信息。

简介: 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) 

参数的顺序是:

  1. 目标编码
  2. 源编码
  3. 要转换的字符串