UTF-8のBOM付き/BOM無しとは?

文字のエンコード方式の一種である「Unicode」には、「BOM付き」・「BOM無し」の2種類が存在していることをご存知でしょうか?
BOMとは「バイトオーダーマーク (byte order mark)」のことです。バイト順マークとも呼ばれます。これはUnicodeの符号化形式で符号化したテキストの先頭につけられる数バイトのデータのことを指します。
プログラムがテキストデータを読み込む際に、そのテキストデータの文字コードや符号化形式を判別するのに、この先頭の数バイトを読み込むことで判別することができるようになっています。BOM付きのUTF-8であれば、データは<0xEF 0xBB 0xBF>となります。BOM付きのUnicodeとBOM無しのUnicodeの違いは、データの先頭に3バイトがあるかどうかによって判断することができます。この3バイトがあるかどうか以外の符号化形式やファイルの内容は同じものとなります。

Microsoft OfficeのアプリケーションであるExcelなどのアプリケーションでテキストデータを読み込む際に、BOM付きのものでなければテキストデータの符号化形式が判断できないといったケースがあるため、UnicodeがBOM付きなのかBOM無しなのか確認しておくことは重要です。
ちなみに、HTMLファイル(Webページのファイル)を保存する場合はBOM無しで保存したほうがいいと言われています。何故かと言いますと、PHPなどのWebページを動的に処理するプログラムで、ファイルがBOM付きだった場合に正常に処理することができないケースがあるためです。ファイルや利用するプログラムごとに、BOM付き・BOM無しを決めて保存するようにしましょう。
UTF-8のBOM付き/BOM無しの確認方法
それでは、各エディタでのUTF-8のBOM付き/BOM無しの確認方法と、BOMの削除方法について説明していきます。
DreamWeaverで確認する方法

秀丸エディタで確認する方法
シェアウェアでビジネスなどに利用されている人気のテキストエディタには「秀丸エディタ」というものあがあります。秀丸エディタでBOM付きかどうか確認するには、「名前を付けて保存」ダイアログボックスを表示させましょう。

BOM無しにするにはチェックボックスをオフにして「OK」をクリックしましょう。
TeraPadで確認する方法


メモ帳で確認する方法
Windowsのデフォルトアプリケーションであるメモ帳を使ってBOM付き・BOM無しを確認する方法もあります。他のエディタと比べると多少手間がかかりますが、エディタを他に導入していない場合はこの方法で確認してみましょう。まずはBOM付きかどうか確認したいテキストファイルを開き、ウィンドウ上部メニューの「ファイル」→「名前を付けて保存」をクリックします。


ちなみに、メモ帳でBOM無しで保存したい場合は「UTF-8」で保存すればOKです。