内部エンコーディングはUTF-8で統一しているがCSV出力機能だけSJISで出したいと思ったときはどうしたらいいか。 PHP5.1以降なら、php://tempという便利なものがある。 <?php // メモリバッファを開く $buf = fopen('php://temp/maxmemory:'. (5*1024*1024), 'r+'); // データを出力 fputcsv($buf, array('a', 'b', 'c')); // バッファの先頭に戻ってデータを取得 rewind($buf); $utf8 = stream_get_contents($buf); fclose($buf); // 文字コード変換 $sjis = mb_convert_encoding($utf8, 'Shift_JIS', 'UTF-8'); // SJISデータを書き出し $fh = fopen