今日ももじばけ
csvのコンマの代わりに";"を使ったデータ(utf8の日本語含む)に,split(/;/)すると,日本語の一部の内部表現が,ASCIIの";"とかぶっているらしく,正しくsplitできない.どうやったらなおるのかよくわからない.
わかったら追記する予定.
==ナイーブな解決法==
データの中身に無意味なタブ記号を含むデータだったので,いったんエクセル上でs/\t//gして(エクセルの使い方がよくわからないので一度csvにしてsedでs/\t//gしたけどそれはまあどうでもよい),最後にタブ区切りテキストとして出力させる.タブ記号のASCII表現は,utf8の内部表現とかぶっていないようなので,split(/\t/)は正しく動作するっぽい.
==phpMyAdminのバグについて追記==
RDC4180によるCSVの定義をみると,最後のフィールドの後にコンマは付けてはいけないことになっている.
http://tools.ietf.org/html/rfc4180
にもかかわらず,phpMyAdminくんでデータをインポートする場合,最後のフィールドの後にコンマが付いていないと読めないらしい.
==さらに追記==
phpMyAdminのバグ云々は嘘でした.すいません...僕がミスってました..
SELECT FROM [tablename] WHERE [columnname] REGEXP BINARY '.*h[o|u]g[a|e]'