我之前的问题得到了回答,但还有一些我不明白的事情。
我有一个 yaml 文件,其中包含一个带有 utf-8 字符的字段:
:name: O\xE2\x80\x99Reilly
当我在 irb 中加载 yaml 时:
>puts name.encoding => UTF-8
>name => "O\xE2\x80\x99Reilly"
>puts name => O’Reilly
当我在 Rails 中加载 yaml 时:
>puts name.encoding => UTF-8
>puts name => Oâ[80][99]Reilly
>puts name.force_encoding('utf-8') => Oâ[80][99]Reilly
>puts Iconv('iso-8859-1', '', name) => O’Reilly
Q3:为什么rails打印它的初始utf-8字符串就好像它是iso-8859-1,而转换成iso-8859-1的字符串就好像它是utf-8?