gallu’s blog

エンジニアでゲーマーで講師で占い師なおいちゃんのブログです。

「文字コードを変換しつつCSVファイルを読み込む」時の書き方

なんか、毎回
・「書ける」のは覚えてる
・書式を忘れる
のループに陥ってるので、備忘録(苦笑

// CSVの読み込み
$file_name = ファイル名;
$file_name = 'php://filter/read=convert.iconv.SJIS-win%2FUTF-8/resource=' . $file_name;
$file_obj = new SplFileObject($file_name);
$file_obj->setFlags(SplFileObject::DROP_NEW_LINE); // 最後の改行は消す
//
while(false === $file_obj->eof()) {
    $row = $file_obj->fgetcsv();
    // 以下、処理
}

大雑把に、こんな書き方をすると
SJISCSVUTF-8に変換しながら読み込み
が出来るので、CSV処理の時には重宝するんじゃないかなぁ、と思われます。

CSVを「作る(書き出す)」時は
・一気にCSV文字列を作る
・mb_convert_encoding()
なのでまぁ、思案するほどでもないかなぁ、と。