毎回なんかすごい苦労してアドホックに解決してきたが、毎回苦労するのにうんざりしてきたので、頑張って調べてみた。正しい(と思う)手順を書いておく。 まず、MySQLからCSV形式でダンプするときに、ちゃんとenclosed byとescaped byをつけておくべきである。mysqlコマンドでデータベースに接続して、 select * from tablename into outfile '/tmp/output.csv' fields terminated by ',' enclosed by '"' escaped by '\\' lines terminated by '\r\n'; で出力する。しかし、これだとダブルクォートもバックスラッシュでエスケープされることになり、このエスケープはRubyのCSVパーザでは受け付けてくれない(一般的な方法はダブルクォート2つらしい)ので、悲し