rubyの見えない文字
こんばんは
Ruby1.9.2のrails3.1.1を使用しています。
csvファイルをアップロードして、
data = param[:file].read.encode("UTF-8","UTF-8", :invalid => :replace, :undef => :replace, :replace => '').read.encode("UTF-8", :invalid => :replace, :undef => :replace, :replace => '?')
のように読み込みまして、最初の1行の最初の要素が"code"でした。そこで、
data[0][0] == "code"
としましたところ、falseが出力されました。両方とも文字コードはUTF-8で"code"なのですが、調査したところ
data[0][0]length #=> 5
"code".length #=> 4
という違いが見つかりました。
この読み込みデータの見えない文字はなんなんでしょうか。
また、これを取り除く方法は何かありませんでしょうか。よろしくお願いします。
参考
data = param[:file].read.encode("UTF-8", :invalid => :replace, :undef => :replace, :replace => '').read.encode("UTF-8", :invalid => :replace, :undef => :replace, :replace => '?')
としたところ、"???code"、長さ7という結果になりました。
お礼
vbCrLfでできました。 ありがとうございます。