今までウェブサイト(ウェブページ)を作っていて、思い通りにならずはまっていた原因がテキストエディタの文字コードにあることが判明した。
文字コードではまるパターンと言えば、ほとんどの場合文字化けがらみの問題ではないかと思うのだけれど、それ以外にもさまざまなエラーを引き起こす原因になっている。
詳しくないので(だからはまっていたのだが)、細かい部分はよくわからないのだけれど、私の愛用している素敵なテキストエディタ「Terapad」では、文字コードUTF-8で保存すると先頭部分に目には見えない何か(BOM)を挿入しているらしい。――たぶん詳しく解説しているサイトがどこかにあると思うのだけれど、Wikipediaにも説明がある。
http://ja.wikipedia.org/wiki/Unicode
そいつのおかげで今まではまっていた例
- .htaccessでエラー
- PHPでファイルをincludeすると余分に空白行が挿入される(IE7)
- PHPでLocationを使うと "Warning: Cannot modify header information - headers already sent" が出る
上記の問題は、文字コードをUTF-8N(またはほかの文字コード)に変更して保存すれば解決する。
ちなみにレンタルサーバによって挙動が違うようなので、使用しているOSで違うのか!?