0

次のような標準の Ruby 1.9 csv ライブラリを使用して、CSV ファイルからいくつかの Unicode データを読み取ります。

def read_csv(file_name, value)
    CSV.foreach(file_name) do |row|
      if row[0] == value
        return row[1]
      end
    end
end

文字列を取得すると、Unicode 記号はデバッグで問題ないように見えます。

Invitación

しかし、それを置く(または別の文字列と比較する)と、次のようになります。

Invitaci\xC3\xB3n

これらの16進記号を値に変換する方法は? それとも、この CSV ファイルを読み間違えたのでしょうか?

4

1 に答える 1

1

実はこれ、自分で見つけました。ライン変えるだけ

CSV.foreach(file_name) do |row|

オンライン

CSV.foreach(file_name, encoding: "UTF-8") do |row|

そしてこの作品は完璧です

于 2012-10-12T09:24:44.580 に答える