UTF-8うまく使えてますか?

UTF-8エンコードのファイルをphpでincludeしたら、ファイル始端にクエスチョンマークがついてきた。出力する際は読み込まれないのだが、ソースでは?と表示されている。ソースの文字コードを変えて表示すると文字化けするのでクエスチョンマークではない。

こんな事例。さて、UTF-8ファイルには二つ表記法がある。いわゆる、UTF-8Nというやつ。
http://ja.wikipedia.org/wiki/UTF-8
↑こちらを見れば解決するのだが、BOMありの方をUTF-8、なしの方をUTF-8Nと呼ぶ。
この、BOM(バイトオーダーマーク)をファイル途中でインクルードし、考慮せずに文字列処理などをすると不具合が起こるわけです。
ただ、HTMLファイル等でBOMを付加せずにいた場合、ブラウザ側でUTF-8と認識してくれない場合があるので、htmlファイルなど、初めに読み込むファイルではBOMをつけるのがベターな方法と言えよう。これはphpファイルにも該当するので、ともかくインクルード前の大元のファイルにはBOMを付けることを意識すると良いだろう。

関連の話題を探す@人気ブログランキング

この記事へのコメント
コメントを書く
お名前: [必須入力]

メールアドレス:

ホームページアドレス:

コメント: [必須入力]

この記事へのトラックバックURL
http://blog.seesaa.jp/tb/55556440

この記事へのトラックバック
Powered by Seesaa