|
1 2 3 4 5 6 7 8 |
// BOMがついていたらBOMを削除して保存 $filepath = 'hoge.csv'; $contents = file_get_contents($filepath); $bom = pack('H*','EFBBBF'); if(substr($contents, 0, 3) === $bom) { $contents = substr($contents, 3); file_put_contents($filepath, $contents); } |
【Excel】UTF-8のCSVをExcelで開くには
UTF-8のCSVファイルをExcelで開くと、そのままだと文字化けしてしまいますが
「BOMつき」で保存することでExcelで開くことができるようになります。
BOMというのは、簡単に言うと
「これはUnicodeですよ」という意味のコードなのですが、
これを各行の先頭に入れることをBOMつきといいます。
BOMつきにすることでExcelもUTF-8のファイルであることが認識され、
文字化けせずに開けるようになります。
BOMつきにする簡単な方法は
Windowsのメモ帳で保存することです。
Windowsのメモ帳でUTF-8のファイルを保存すると自動的にBOMつきになります。
その他、テキストエディタなどのツールでもBOMつきで保存する機能があると思います。
ただし、BOMつきにしたCSVファイルを再びシステムに読み込ませたりする場合は注意が必要です。
BOMのせいでCSVファイルが正常にロードできなくなる危険があります。
ですので、システムに読み込ませる場合は、BOMつきのファイルは別ファイルとして保存しておいたほうがよいでしょう。
