Dreamweaver CS5のテンプレート機能を使って、HTML5のコーディングをしていると、テンプレートから作られたページが文字化けするという問題が起きました。

条件

  • Dreamweaver CS5/CS4
  • HTML5コーディング
  • UTF-8

HTML5では文字エンコーディングの指定は、
<meta charset=”UTF-8″ />
と非常にシンプルに書くのですがどうやらこれをDreamweaverは理解せず、派生したページのファイル文字コードをShift-JISに変更して保存するため文字化けを起こすようでした。

文字化けしたしたファイルをTextEditorで開いてUTFに保存しなおすと治りますが、これは毎回やることは出来ないので、Dreamweaverの初期設定を変更したりもしたのですが、ダメでした。

<meta http-equiv=”Content-Type” content=”text/html; charset=UTF-8″ />
とHTML4で記述すると大丈夫なのですが、これはいただけない・・・

調べるとこんな方法があるようです。

<!--TemplateBeginIf cond="0" -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<!--TemplateEndIf -->
<meta charset="utf-8" />

<meta http-equiv=”Content-Type” content=”text/html; charset=UTF-8″ />の記述はするものの、各ページではTemplate Ifを使い非表示にします。

なお、<meta http-equiv=”Content-Type” content=”text/html; charset=UTF-8″ />と<meta charset=”utf-8″ />の順番を逆にすると、テンプレートを修正しても、派生したページに反映されない時があるので、必ず上記の順番で書きましょう。

CS5.5ではこのバグは修正されているようです。