2006/08/16

Bloggerの文字コード対策

最新記事は表示するのに、たまに過去ページが表示されない場合があります。
それは、BloggerはデフォルトではUTF-8でXHTMLを作成しているのですが、
ブラウザがShift-Jisで表示しているのが原因です。
ブラウザでUTF-8を表示するように指定してあげると見ることができます。

たとえばIE6.0ならば、
ブラウザのメニューより、[表示(V)] - [エンコード(D)] - [Unicode(UTF-8)]
を選択します。

しかし、これではこの操作を知らない人に記事を見せることができないので、
根本的な解決になっていません。

そもそも、作成されたXHTML文には
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
が生成されているのに、なぜブラウザに認識されないかというと、
<meta>
より前に非ASCII文字(つまり日本語)があると、正常に動作しないようです。

デフォルト設定のままだと、<meta>より前に<title>があり、
日本語のタイトルをつけるとブラウザがmeta指定を無視してしまうようですね。

よって、Bloggerのテンプレートの設定を、
<title><$BlogPageTitle$></title>
<$BlogMetaData$>

から

<$BlogMetaData$>
<title><$BlogPageTitle$></title>

に変更しましょう。

0 件のコメント: