[#47955] るびま記事募集:FiberとかSinatra/PadrinoとかBundlerとか — Makoto Kuwata <kwa@...>
桑田といいます。るびま編集部に入りました。
17 messages
2011/04/11
[#47956] Re: るびま記事募集:FiberとかSinatra/PadrinoとかBundlerとか
— Kiwamu Okabe <kiwamu@...>
2011/04/11
岡部と申します。いつもお世話になっております。
[#47971] Re: るびま記事募集:FiberとかSinatra/PadrinoとかBundlerとか
— Satoshi GUNJI <gunjisatoshi@...>
2011/04/14
郡司と申します。
[#47959] Ruby用のリアルタイムプロファイラ — Takahiro Sunaga <sunagae@...>
須永@ささだ研です。
5 messages
2011/04/11
[#47967] Re: CSV.read で読むとUTF-8の扱いがおかしい? — "Endo Akira" <endo4917@...>
遠藤と申します。
5 messages
2011/04/14
[#47990] String#gsub への委譲 — "5.5" <5.5@...>
5.5 です。
10 messages
2011/04/21
[#47991] Re: String#gsub への委譲
— "NARUSE, Yui" <naruse@...>
2011/04/21
2011年4月21日9:10 5.5 <5.5@moji.gr.jp>:
[#47997] lambda中のProc中のreturnの挙動について — m_takao <threewayhandshake@...>
高尾と申します。
6 messages
2011/04/22
[#48009] randの挙動 — YAGUCHI Yuya <yayugu@...>
矢口と申します
5 messages
2011/04/24
[ruby-list:47966] CSV.read で読むとUTF-8の扱いがおかしい?
From:
Dezawa <dezawa@...>
Date:
2011-04-14 00:00:46 UTC
List:
ruby-list #47966
出沢です
CSV を通すと、文字列の扱いに理解に苦しむ結果となりました。
UTF-8な日本語が == 演算で文字定数と一致してくれないのです。
下のようなデータファイルが有ります
===
$ cat test
"製品名"
===
これを次のプログラムを通すと、、、、
CSV.parseの様な結果を期待してるのですが、CSV.read、CSV.foreachではそう
なってくれません。
一度に読めるCSV.read を使いたいのですが、これでうまく行かないのはなぜで
しょう。
ruby1.8 では皆 true になります
rubyのバージョンは
$ ruby1.8 -v
ruby 1.8.7 (2010-01-10 patchlevel 249) [i486-linux]
$ ^8^9
ruby1.9 -v
ruby 1.9.1p378 (2010-01-10 revision 26273) [i486-linux]
===
#!/usr/bin/ruby1.9
# coding: UTF-8
require 'csv'
require 'pp'
str="製品名"
csvread= CSV.read("./test")[0][0]
csveach=""
CSV.foreach("./test") do |row|
csveach = row[0];break
end
file = open("./test","r")
fstr = file.gets
csvgets = CSV.parse(fstr)[0][0]
puts str == csvread #=> false
puts str == csveach #=> false
puts str == csvgets #=> true
puts str #=>製品名
puts csvread #=>製品名
puts csveach #=>製品名
puts csvgets #=>製品名
pp str #=>"製品名"
pp csvread #=>"\xE8\xA3\xBD\xE5\x93\x81\xE5\x90\x8D"
pp csveach #=>"\xE8\xA3\xBD\xE5\x93\x81\xE5\x90\x8D"
pp csvgets #=>"製品名"