Hatena::ブログ(Diary)

ぼちぼちいこか このページをアンテナに追加 RSSフィード

2008/11/24(月)

PHPファイルをUTF-8で保存する時のちょっとした罠

UTF-8で開発している時に私がハマってしまったのですが、HTMLを出力した際に、なぜか先頭に空白が入る事がありました。

よくあるのは、PHPコードの閉じ後に改行が入っているとかな訳ですが、それも無い場合。

UTF-8で保存する際にあるファイルを「BOM付き」で保存してしまうと、HTML出力した際に、先頭に空白が入ってしまいました。

これは、気づくのに時間がかかってしまいました。

出力されるデータをバッファに溜めて、var_dump(bin2hex($buffer));とかすると、先頭に「EFBBBF」が出ます。

このUTF-8の制御コードが、HTMLとしては、空白の様に見えていたのです。

改行や空白を消しても、何か空白の様な物が出力されてしまう場合、UTF-8BOMを疑ってみるのもアリかもしれません。

はてなユーザーのみコメントできます。はてなへログインもしくは新規登録をおこなってください。

トラックバック - http://d.hatena.ne.jp/catsliving/20081124/1227633886