(1)の問題についてはロケールの問題ではないでしょうか。 手元の環境で再現できました。 setlocale(LC_ALL, 'C'); ->(1)の問題発生する setlocale(LC_ALL, 'ja_JP.UTF-8'); ->(1)の問題発生しない 動作環境や発生時の状況など不明なので不確かですが、 Apacheの起動スクリプトに以下記述があるとかでは? HTTPD_LANG=${HTTPD_LANG-"C"} setlocale()関数でロケールを正しく設定すれば解決するかと思います。 (2)についてはfgetcsv()関数の仕様と認識していました。 ※前後の空白文字は無視される。 ご参考まで。 池田