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で確認する方法

ウィンドウ上部メニューを開き「修正」から「ページプロパティ」をクリックすると、「ページプロパティ」ウィンドウが開きます。「Unicode署名を含める(BOM)」のチェックボックスがオンになっているとBOM付き・オフになっているとBOM無しとなります。BOM無しにするにはチェックボックスをオフにして「OK」をクリックしましょう。
秀丸エディタで確認する方法
シェアウェアでビジネスなどに利用されている人気のテキストエディタには「秀丸エディタ」というものあがあります。秀丸エディタでBOM付きかどうか確認するには、「名前を付けて保存」ダイアログボックスを表示させましょう。

「名前を付けて保存」ダイアログボックスが表示されたら、ウィンドウ下部の「エンコードの種類」の右側に「BOMを付ける」のチェックボックスがあります。このチェックボックスがオンになっていればBOM付き・オフならBOM無しとなります。
BOM無しにするにはチェックボックスをオフにして「OK」をクリックしましょう。
TeraPadで確認する方法

ウィンドウ上部メニューの「ファイル」をクリックして開き、「文字/改行コード指定保存」をクリックしましょう。

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

「名前を付けて保存」ダイアログボックスが表示されるので、ファイル名は適当なものに変更してから文字コードを「UTF-8」に設定します。あとは「保存」をクリックしてファイルを保存しましょう。

続いて、保存したファイルを右クリックしてメニューの「プロパティ」を開きましょう。ファイルのプロパティが表示されるので、「サイズ」の値を確認します。このサイズが元のファイルと同じであればBOM付き・3バイト増加していたらBOM無しと判断することができます。
ちなみに、メモ帳でBOM無しで保存したい場合は「UTF-8」で保存すればOKです。