エプソンダイレクト株式会社

2025年2月25日(火曜日)

Excel の UTF-8 での CSV 出力

Category: 社長日記 | Posted By at 23:37:25

プログラムで使用する CSV ファイルを作るために、
もらっている Excel ファイルから CSV に出力して
PHP で処理するとおかしな挙動をしています。

はて…なんやこれ?

ずっとあ~でもない、こ~でもない…
手詰まりか?と思っていたのですが、
Excel での UTF-8 出力時には
BOM が必ず付与されます。

BOM とは Byte Order Mark の略で、
エンディアン(バイトの並び順)によって
データの解釈が変わるエンコーディング
です。
ただし UTF-8 で使用する際には影響を受けないので、
本来は必要ないようです。
実際 UFTF-8 の普段使いの時には BOM なしで使用しています。
ただ、Excel 2024 でも BOM の有無については選べず、
強制的に付与されてしまうようです。

この BOM 、ファイルの先頭に付くので、
CSV ファイルの一行目の先頭のデータに付くので、
当然他の行と扱いが変わってきます。
わかってしまえば、当たり前なのですが、
テキストファイルで開いても BOM の存在は見えず、
一般的に UTF-8 のファイルを扱う時には
BOM なしでやろうね…ということが多いのに、
まさか Excel が BOM 付きで吐いてくるとは…

トラックバック URL

コメント&トラックバック

コメントはありません。

コメントフィード

コメント





XHTML: 以下のタグが利用可能です。
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

HP Directplus -HP公式オンラインストア- デル株式会社 東芝ダイレクト 富士通パソコンFMVの直販サイト富士通 WEB MART ソフマップ・ドットコム