2

之前的问题得到了回答,但还有一些我不明白的事情。

我有一个 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?

4

1 回答 1

1

config/application.rb在 rails 中的文件可能包含以下内容:

config.encoding = "utf-8"

这只是对第一个 Q 的回答,可能与下一个 Q 有任何相关性,也可能不相关 :)

于 2011-07-08T18:58:59.753 回答