BOMとは
BOMはByte Order Markの略です。テキストファイルの先頭に置かれ、文字コードの種類やバイトの並びを判断する手がかりとして使われることがあります。
普段は画面に表示されないため見えませんが、ファイルの読み込み方法によっては影響が出ることがあります。
UTF-8 BOMとは
UTF-8 BOMとは、UTF-8で保存されたテキストファイルの先頭にBOMが付いている状態です。
UTF-8自体はBOMなしでも扱えますが、一部の環境ではBOM付きの方がUTF-8として認識されやすい場合があります。
| 形式 | 意味 | よくある場面 |
|---|---|---|
| UTF-8 | BOMなしのUTF-8 | Web、プログラム、一般的なテキスト |
| UTF-8 BOM付き | 先頭にBOMが付いたUTF-8 | Excel向けCSV、古い環境との受け渡し |
CSVでBOMが話題になる理由
CSVファイルは中身がテキストなので、文字コードの影響を受けます。
日本語を含むCSVをExcelで開いたとき、環境によってはUTF-8を正しく判定できず文字化けすることがあります。その対策として、UTF-8 BOM付きCSVが使われることがあります。
BOM付きが向いている場面
次のような場合は、UTF-8 BOM付きCSVが役立つことがあります。
- Excelで日本語CSVを開くことが多い
- CSVの受け渡し先がUTF-8 BOM付き指定になっている
- 文字化けを避けるためにExcel側でUTF-8として認識させたい
BOMなしが向いている場面
Webサイトやプログラム、システム間連携では、BOMなしのUTF-8が扱いやすいことも多くあります。
先頭のBOMを通常の文字として扱ってしまう環境では、ヘッダー名の先頭に見えない文字が混ざるなどの問題が起こることがあります。
- Webやプログラムで読み込むテキスト
- APIやデータ連携用のCSV
- 受け渡し先がBOMなしを指定している場合
文字化けしたときの確認ポイント
CSVが文字化けした場合、BOMの有無だけでなく、保存時と読み込み時の文字コードが一致しているかを確認しましょう。
UTF-8、UTF-8 BOM付き、Shift_JISのどれが必要かは、使うソフトや提出先の指定によって異なります。
まとめ
BOMは、テキストファイルの先頭に付くことがある目印です。
CSVでは、Excelで日本語を正しく開くためにUTF-8 BOM付きが使われることがあります。一方で、プログラムやシステム連携ではBOMなしが向いている場合もあります。
文字化けを防ぐには、BOMの有無だけでなく、保存時と読み込み時の文字コードをそろえることが大切です。