Simple Conversion Of String To UTF-8 in Ruby 1.8

后端 未结 1 1562

I know that in Ruby 1.9 you can easily re-encode a string like this.

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

What is the equivalent in Ruby 1.8? What requi

1条回答
  •  Happy的楠姐
    2021-01-02 10:26

    James Edward Gray II has a detailed collections of posts dealing with encoding and character set issues in Ruby 1.8. The post entitled Encoding Conversion with iconv contains detailed information.

    Summary: the iconv gem does all the work of converting encodings. Make sure it's installed with:

    gem install iconv
    

    Now, you need to know what encoding your string is currently in as Ruby 1.8 treats Strings as an array of bytes (with no intrinsic encoding.) For example, say your string was in latin1 and you wanted to convert it to utf-8

    require 'iconv'
    
    string_in_utf8_encoding = Iconv.conv("UTF8", "LATIN1", string_in_latin1_encoding)
    

    The order of arguments is:

    1. Target encoding
    2. Source encoding
    3. String to convert

    0 讨论(0)
提交回复
热议问题