多言語の混ざったCSVを出力する

普通にCSVを作ろうとすると、大体Shift-JISで出力してしまうのだけど、CSV中に複数言語入っているともちろん文字化ける。ならばとUTF-8で出力するとExcel先生的にぐっちゃになる。さてどうしたものかと思案したのだけど、要するにBOM付きUTF-8にしてしまえば文字化けずに開けるようになるらしい。

なんかすごくアレな対応なのだけど、まぁ、出力できるならそれに越したことはないわけで。PHPで書くとこんな感じ。

<?php  
    // はじめにBOMを出力する  
    echo pack('C*',0xEF,0xBB,0xBF);

    // なんやかんやとCSVを出力  
    //  文字コードはUTF-8にしておくこと  
    echo $csv;

?>