UTF-8使用時の注意点(BOMあり、無し)

UTF-8使用時の注意点(BOMあり、無し)

投稿記事by admin » 2014年6月30日(月) 9:25 am

HTMLやPHPなどWebで使うファイルはUTF-8がほぼ標準となって久しいですが、扱いには注意点があります。
通常のHTMLだけであれば問題にはならないですが、PHPなどのプログラムが絡むと問題になることがあります。

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

DreamWeaverではデフォルトでBOMなしに設定されているので問題ないですが、TeraPadやメモ帳には以下のような点があるので、UTF-8のファイルを扱う際は注意が必要です。
※TeraPadはインストールしたままの状態(設定を変更していない)であれば基本的に問題ないはずです。

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


※ちなみに以下の画面は「修正」→「ページプロパティ」です。
画像
TeraPadは以下の点に注意
画像
また以下のオプション画面も要確認。(場所:表示⇒オプション)
画像
メモ帳(基本Shift-JIS以外はメモ帳では扱わないこと。メモ帳はあくまでメモ帳。。)
画像
ちなみに秀丸では・・・
画像

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

BOMは通常のエディタでは見ることはできないため、ソースを見てもわかりません。
PHPの関数の中にはソース上の一番最初に記述する必要があるものがあります。
session関数、header関数など。これの前になにかしらの文字列(BOMも文字列扱いになる)があると正常に機能しなくなってしまいます。BOMは ソース上では確認できませんが、ソースの一番初めに付いてしまうので、session、headerなどの関数の邪魔をしてしまいます。具体的にはWarningエラーが画面上に表示されます。
※当サイトで配布しているニュースプログラムやダウンロードカウンタなどのログイン処理には「session」を使用していますので、BOMありで保存してしまうとエラーが画面内に表示されます。

BOMをどうしても見たい場合はバイナリエディタを使えば確認できます。
始めの3バイト分にEF BB BFがあればそやつがBOMです。あえて見る機会はほぼ無いと思いますが。

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

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

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

2.TeraPad等でUTF-8Nで保存しなおす。


とにかく必ず不具合が出るというものではないのでよけいに厄介です。
またHTMLやCSSファイルであれば問題にはなりません。たぶん・・・。

そもそもBOMってなんやねんwって話ですがね。。。
アバター
admin
管理人
 
記事: 81
登録日時: 2014年3月26日(水) 3:44 pm

Return to html全般

オンラインデータ

このフォーラムを閲覧中のユーザー: なし & ゲスト[1人]

梓文社-中国語教室 〒721-0973 福山市南蔵王町6-25-4
cron