2011-07-08 15 views
2

私のprevious questionには回答がありますが、理解できないことがいくつかあります。Ruby 1.9.2とRails 3.0 UTF-8の狂気

私は、UTF-8文字でフィールドが含まれているYAMLファイルがあります:私はRailsのでYAMLをロードすると

>puts name.encoding => UTF-8 
>name => "O\xE2\x80\x99Reilly" 
>puts name => O’Reilly 

:name: O\xE2\x80\x99Reilly 

私はIRBで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:なぜレールは、それがISO-8859-1だかのように、それは最初のUTF-8文字列の印刷、および文字列はISO-88に変換されません59-1のようにutf-8?

+0

Q1とQ2を削除 – Cookies

答えて

1

レールであなたのconfig/application.rbファイルは、おそらくこれがあります。

config.encoding = "utf-8" 

これは最初のQへの唯一の答えであるとか、最終的にこれがした次の2 :)

0

に何らかの関連性があってもなくてもよいですsyckで生成されたファイルをシックで読み込むことによって発生します。 syckで読み込んで問題を解決しました。私はan answer to my previous questionで詳しく説明しました。

関連する問題