index.phpにrequireやincludeでheader.phpを読み込むと、ヘッダーの上に謎の隙間ができる。UTF-8をUTF-8Nで保存。自分が使っているTeraPadには、UTF-8の保存形式に、UTF-8とUTF-8Nの2つあり、UTF-8がBOMつき、UTF-8NがBOMなしです。BOMというのは、そのファイルがUnicodeであると判別できるように、ファイルの先頭につけられるデータのことです。今回このBOMというのが悪さをしていたようです。以下、Wikipediaから引用。バイト順マーク(バイトじゅんマーク)は通称BOM(ボム)といわれる、Unicodeの符号化形式で符号化したテキストの先頭につける数バイトのデータのことである。このデータを元にUnicodeで符号化されていることおよび符号化の種類の判別に使用する。UnicodeUnicode(ユニコード)とは、符号化文字集合や文字符号化方式などを定めた、文字コードの業界規格である。文字集合(文字セット)が単一の大規模文字セットであること(「Uni」という名はそれに由来する)などが特徴である。10646(UCS)とUnicodeで使える8ビット符号単位の文字符号化形式及び文字符号化スキーム。Format-8’という。10646とUnicodeのコード重複範囲で互換性がある。RFCにも仕様がある[1]。Safe)ともいわれる。データ交換方式、ファイル形式としては、一般的にUTF-8が使われる傾向がある。Linuxのように、OSの標準文字エンコードとして使用される例も増えている。