最初は何が原因が全く検討もつかなかったが、
いろいろ試す内に文字化けが原因だとわかった。
下記の記事にヒントがあった。
- PHPのiconv関数がすごすぎる件について – 気負わない日記
- CodeIgniterでのPOST値の日本語受け取りの文字化けについて。 (Codeigniter-users) – CodeIgniter日本語化 – SourceForge.JP
あと、php.iniの設定がEUC-JPになっていたのも原因。http_inputというのを初めて知った。
文字化けで文字が消える理由。
codeigniter内でpostしたデータにiconvという関数が実行されており、こいつを通った文字列は、
指定された文字集合で 表せない文字は黙って切り捨てらるそうです。
「つまり文字化けした文字は消す。」という意味なのではないかと予想しています。
詳細はマニュアルを見れば一目瞭然です。
文字化けに少し強くなったかな。