【文字コード・UTF-8】BOMあり・BOM無しの違いとは

【文字コード・UTF-8】BOMあり・BOM無しの違いとは

utf8-bom-min

先日BOM付きでPHPファイルを保存。それが原因で大変な目にあってしまいました。

Windowsに標準搭載されているメモ帳では文字コードをMOB付きで表示してしまうという特徴があるため、それが時としてエラーを引き起こす元となってしまうんです。その場合BOM無しで保存しておけば解決します。

今回はそれを教訓にBOM無し、BOM付きについてしっかり把握しておこうと思います。

目次

BOMあり・BOM無し

BOMはByte Order Mark (バイトオーダーマーク) の略で読み方はボムです。

unicodeに基いて作られている文字コードの「UTF-8」にはもう一つ「UTF-8N」という種類があるんです。「UTF-8」がBOMあり、「UTF-8N」がBOM無しになります。

Windows標準搭載のメモ帳でHTMLファイルやPHPファイルを保存するとBOMありで保存されます。これは、ファイル内に情報が含まれるということです。

WordPressでログイン画面やダッシュボードに「Warning: Cannot modify header information..」というエラー文字が並ぶことがあります。この原因のうちの一つがBOMありで保存することによるものです。BOMのちょっとした情報を文字だと認識してしまいそれによりエラーを引き起こしてしまいます。

なのでFTPクライアントソフトでファイルを編集する場合、メモ帳での保存は避けるべきなのです。

TeraPadを使う

ファイルをBOMなしで保存するためにTeraPadなどのBOM無し保存に対応しているエディターソフトを使います。今回は使いやすいTeraPadで簡単な解説をしていきましょう。
TeraPadはダウンロードするだけですぐに利用できます。

TeraPad公式ダウンロードページ ⇒ https://tera-net.com/library/tpad.html

TeraPadでBOM無しで保存したい場合、「文字/改行コード指定保存」→「UTF-8N」で保存すればOKです。

utf8-bom-compressor

ちなみに一度メモ帳による保存でBOMを付けてしまった場合、TeraPadのBOM無しで保存し直すだけではBOMは消えません。この場合ファイルを新たに作成するかバイナリエディタを使ってBOMを取り除くという作業が必要になります。

▼バイナリエディタはバイナリファイルを編集するためのソフトで、こういった細かい数字の情報を扱う時に使います。

10 EE FF

手間がかかるのでやはり事前にBOM無しで保存するのが一番いいかと。

まとめ

そもそもBOMあり・BOM無しという言葉を最近知りました。それが元でエラーを引き起こしてトラブルになってしまったのですから、知らないということは本当に怖いです。

知っているというだけでエラーを防ぐことができますからBOMあり・BOM無し。トラブルを回避するために是非これは覚えておきたい知識ですね。

[ad2]
[ad3]

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

ジョン齊藤のアバター ジョン齊藤 ブログ運営者 / 執筆者

ブログ歴8年 / 10万PV達成 / ブロガー・動画編集者 / 使用テーマSWELL

目次