わかってみれば単純なことなのですが、わかるまで半日を費やしてしまったのでメモしときます。 SmartyでUTF-8で書いたテンプレートやら、PHPをIE7で表示したらレイアウトが崩れてしまいました。 どうやらCSSで定義してる幾つかが適用されていないみたいです。 SmartyのテンプレートやPHPがUTF8の場合、BOM(Byte Order Mark)付きで保存しているとおかしくなるというのはネットで探して見つけたので、両方のファイルともBOMなしで保存しましたが、結果変わらず。。。 おかしいと思い、IE7で表示されたソースをHTMLファイルとして保存し、DIFFツールでSmartyのテンプレートファイルと比較すると、ファイルの先頭に空白らしきものがあるのが発見。 まさかと思い保存したHTMLファイルをバイナリエディタで確認すると、案の定BOMが付いていました。 しかもなぜか2つも。。