そんなの気づかないよ。

最近一度あったのが、ワードプレスで構成したサイトをバリデーションにかけたら、「<html>タグの前によけいな記述があるからどうにかしなよ(とい うニュアンスの表示)」が出たんですが、<html>タグはコードの一行目にあるし、それより前に余計な記述などは見当たらない。

コードを何度見直してみてもわからないまま時間が過ぎていく。

ググっても日本語のページはまったくひっかからない。

こういうエラーが出た人はあまりいないらしい。

さすが残念なWEB製作者。

しょうがないから検索結果に表示された英語のページを開いて翻訳をかけてみる。

すると、完全な翻訳ではないが、BOMがうんぬんという部分があったため、それをもとにググってみると、なんでもPHPやhtmlファイルをUTF8で保存するときただのUTF8で保存してしまうと、BOMってやつがもれなくついてくるらしい。

BOMというのはどうやらUTF8であることを表示するバイト順マーク(Byte Order Mark)という3バイトのバイナリデータらしいんですが、このデータはテキストエディタで見ても出てこない(見えない)。

そのため、PHPが動的に作成した後のhtmlファイルをいくら眺めてみてもそんな記述はないため、このバリデーションサービスはおかしいとちょっぴり思い始めていました。

というか、分かるか、そんなこと。

なので、テキストエディタを使ってhtmlやPHPとして保存する場合にはUTF8Nというやつで保存するようにしましょうね。

ちなみにNはNO-BOMってことらしいです。BOM無しですね。

なお、基本的にテキストエディタはデフォルトではBOM無しになっているらしいので深く考えなくても普通は大丈夫です。

オレは普通じゃないのか。文字コードがUTF8だからUTF8で保存したオレが悪いのか。

文字コードがUTF8だったらUTF8で保存するんじゃないのか。

UTF8Nで保存するなんてだれも教えてくれなかったじゃないか。

説明する必要がないほどあたりまえのことなのか…orz