UTF-8使用時の注意点

最近はやたらとUTF-8が流行を見せていますが、
扱いには注意点があります。
通常のHTMLだけであれば問題にはならないですが、
PHPなどのプログラムが絡むと問題になることがあります。

UTF-8にはBOMあり、BOMなしの2種類があり、
Webでは基本的にBOMなしで保存、上書きする必要があります。

DreamWeaverではデフォルトでBOMなしに設定されているので問題ないですが、TeraPadやメモ帳には以下のような点があるので、UTF-8のファイルを扱う際は注意が必要です。

DreamWeaverではデフォルトが以下のようになってるので問題ない。

TeraPadは以下の点に注意

また以下のオプション画面も要確認。(場所:表示⇒オプション)

メモ帳(基本Shift-JIS以外はメモ帳では扱わないこと。メモ帳はあくまでメモ帳。。)

ちなみに秀丸では・・・

BOMありにしてしまった場合の問題点として以下があります。

BOMは通常のエディタでは見ることはできないため、
ソースを見てもわかりません。
PHPの関数の中にはソース上の一番最初に記述する必要があるものがあります。
session_start()など。これの前になにかしらの文字列(BOMも文字列扱いになる)があると正常に機能しなくなってしまいます。BOMはソース上では確認できませんが、ソースの一番初めに付いてしまうので、session_start()などの関数の邪魔をしてしまいます。
BOMをどうしても見たい場合はバイナリエディタを使えば確認できます。
始めの3バイト分にEF BB BFがあればそやつがBOMです。

制作会社などでほかの人が作ったファイルを触ることはよくありますので、
UTF-8の場合は注意が必要になるということです。

BOMありで保存してしまった、または疑いのある場合の対応策

  • DreamWeaverでファイルを開き上の画像部分で「Unicode 署名を含める(BOM)」のチェックを外す⇒適用⇒OKで完了。逆にチェックが付いていなければBOMなしになっているということです。
  • TeraPad等でUTF-8Nで保存しなおす。

 

とにかく必ず不具合が出るというものではないのでよけいに厄介です。
またHTMLであれば問題にはなりません。たぶん・・・。
そもそもDreamWeaverだけを使っていれば問題になりません。

カテゴリー: Web屋なら知っておきたい豆知識 | コメントは受け付けていません。