Dreamweaverでphpソースを開くと文字化け(あるいはフリーズ)するときの裏ワザ

HTML/CSS/CMS(サイト構築)
(お約束)ご利用は自己責任でお願いします

Dreamweaverでphpソースを開くときに文字化けしたり、大きなphpファイルだとフリーズしたりします。

これはDreamweaverが文字コードを解析しようとして失敗しているためだと思われます。

Dreamweaverは 基本的に metaタグで文字コードを判断しているようです。

<meta http-equiv=”Content-Type” content=”text/html; charset=UTF-8″ />
とか
<meta http-equiv=”Content-Type” content=”text/html; charset=EUC-JP” />
とか。

HTMLソースなら必ずこのmetaタグを一個だけ書いてその文字コードで書いて保存しますが、PHPの場合、たとえばこんな風にmetaタグを二個書いてUTFで保存したりします。

 

mb_internal_encoding("UTF-8");	//内部文字エンコーディングをUTF-8に設定
$metaEUC = '<meta http-equiv="Content-Type" content="text/html; charset=EUC-JP" />';
$metaUTF = '<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />';
if($encode){
    print $metaEUC;}
else{
    print $metaUTF;}

こんな場合Dreamweaverは最初のmetaタグを見てEUCだと判断してしまい、文字化けするようです。

なのでその特性を逆手にとって、PHPの先頭行にコメントアウトしたメタタグを書いておけばDreamweaverはその文字コードで開いてくれます。

/*
このテキストはUTF-8で保存
Dreamweaver対策でmetaタグを設定
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
*/

mb_internal_encoding("UTF-8");	//内部文字エンコーディングをUTF-8に設定
$metaEUC = '<meta http-equiv="Content-Type" content="text/html; charset=EUC-JP" />';
$metaUTF = '<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />';
if($encode){
    print $metaEUC;}
else{
    print $metaUTF;}

 

コメント

タイトルとURLをコピーしました