タグ

BOMに関するmick_0124coolのブックマーク (2)

  • BOM - Tips for Programing

    PHPを中心に、あれなんだっけ?的なつい忘れてしまうことや、これ、覚えておく必要がありそうなこと、こんなやり方があったんだとか、まとめておこうとおもって。 Byte Order Marker。 unicodeのファイルには、2種類ある。ファイルの先頭数バイトにBOMというコードが登録される。 BOMはテキストエディタでは見えないが、保存するときに指定可能なものがある。 また、指定不可能なものは、新規作成時点でBOM付きかBOM無しかを把握しておく必要がある。   プログラム作成において、最近は、UTF-8を内部エンコードとしているOSや言語があるので、作成時点で言語がどちらに対応、非対応の確認が必要となる。 phpでは、BOM無しでなければならない。BOMありの場合は、<?phpの前に存在することとなるため、文字列出力が行われていることになるので注意が必要だ。header関数や、sessi

  • (PHP)UTF8でBOMがあるとブラウザ表示時レイアウトがおかしくなる | old_3流プログラマのメモ書き

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

    (PHP)UTF8でBOMがあるとブラウザ表示時レイアウトがおかしくなる | old_3流プログラマのメモ書き
  • 1