自分のサイトに何も表示されなくなった、自分のパソコンでは見えているのにほかの人のパソコンでは見えない、投稿メッセージが意図したとおりに表示されない、などなど、Blogger 製作中にはこういうことが必ずと言っていいほど起こります。
これらの問題の原因のほとんどはエンコードミス、いわゆる文字化けです。そもそも欧米の人用にできている Blogger で、日本語を使ったページを作るには文字化けへの対策が不可欠です。
その対策を4つほど、以下に紹介します。
■1.エンコード方式を選択する
ブログページのエンコード方式は管理画面「設定→フォーマット→エンコード」で変更できます。
ここで
Universal(Unicode UTF-8) を選択します。
なぜかというと、他のエンコード方式を選択すると投稿メッセージ中の記号類が文字化けするから。これは投稿編集画面自体が UTF-8 で書かれているからだと思います。
■2.テンプレートからタイトルとメタデータとを入れ替える
エンコード方式が正しく選択されていても、ページがまったく表示されずに真っ白になる場合があります。これはページタイトルに日本語が使われている場合に起こります。ブラウザ(IE, NN, Opera など)がページの最初から順に HTML を読んで解釈する際に、エンコードタイプがわからないまま日本語が出て来ると文字化けする可能性が高いのです。そこで管理画面「設定→テンプレート」から HTML が
<title><$BlogPageTitle$></title>
<$BlogMetaData$>
という順になっているのを入れ替えて、
<$BlogMetaData$>
<title><$BlogPageTitle$></title>
とします。
これでブラウザのエンコードミスを回避できるかと。ちなみに
<$BlogMetaData$> にはエンコード情報などのメタタグ類が入っています。なぜそもそもこんな順で並んでいるのかは、謎ですが…。
■3.テンプレートから言語を指定する
ついでに HTML の使用言語指定について。
同じく管理画面「設定→テンプレート」から2行目を
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
から
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja">
に変更します。
ここは「この HTML ファイルは…語で書かれているよ」と指定している部分です。ブラウザがこの部分にどれだけ反応するかわかりませんが、多少なりともエンコードミスを防げるはず…。ここもそもそものデフォルトは、en(英語)に設定されています…。
■4.テンプレートから XML 宣言を加える
このブログ Blogger で扱われている文書は正確には XHTML といいます。これは XML をうけついだ「HTML」だということですが、そのため XHTML 文書には XML としての宣言も求められます。
具体的には1行目で
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
と書かれている部分に
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
と赤字の部分を加えるとOKです。
この宣言ももともとはついていませんので、がんばってつけてください。
以上で4つの予防策の紹介は終わりですが、ほかにもこういう手があるよ、という方は教えてくださいね。ではまた。