PHP で UTF-8 に付いている BOM を削除する方法

comments(0) | trackback(0)

はてなブックマークに追加 はてなブックマーク数 del.icio.us に追加 livedoor クリップに追加 livedoor クリップ数 Yahoo!ブックマークに追加

  UTF-8 に BOM (Byte Order Mark) が付くのが良いのか,悪いのかは分からないけど,問題が多そうな気がする.
  Windows に付いているメモ帳はご丁寧に BOM をつけてくる.

- When a BOM is used, is it only in 16-bit Unicode text?
  http://www.unicode.org/unicode/faq/utf_bom.html#25

  上記の記事によると,ファイルの先頭 3 バイトに EF BB BF があれば,UTF-8 に付く BOM らしいので,これを判別して削除する方法.

function delete_bom($str)
{
    if (ord($str{0}) == 0xef && ord($str{1}) == 0xbb && ord($str{2}) == 0xbf) {
        $str = substr($str, 3);
    }
    return $str;
}


  とりあえずこれで OK.

タグ: [PHP]

この記事へのコメント

(コメントはありません)

この記事へのコメントを書く

名前:

メールアドレス (公開されません):

URL:

コメント (入力必須)

この記事へのトラックバック URL

http://cl.pocari.org/tb.php/2006-06-05-1

この記事へのトラックバック

(トラックバックはありません)