2013/06/14

HTML5 で UTF-8 を使用する場合の注意事項

今までホームページの文字コードは主に Shift_JIS を使ってきたのですが、HTML5 への切り替えに当たり、推奨されている UTF-8 にした方がいいのか迷っていました。

しかし、古いコンピューターで表示したときに文字化けの可能性があることを考慮すると、今まで通り Shift_JIS のままの方が無難ではないかと思い、とりあえず、トップページは Shift_JIS のままにしておきました。

先に HTML5 で作成した Tarot FILES #100 以降の記事は実験的な試みもあったので当初から UTF-8 を使用していました。いくつかのブラウザやスマートフォンでの表示も確認しましたが、特に問題はないようでした。

ところが、一つだけ問題があることに気づいてしまいました。

HTML5 では文字コードの指定に、ヘッダーのメタタグで以下のように指定することができます。
<meta charset="UTF-8">

この書式を認識できないブラウザが存在し、その場合にはデフォルトの文字コードで表示されることになります。たいていは Shift_JIS としてエンコードを試みることになるかと思います。その場合にはかなりの頻度で文字化けすることになるでしょう。
(サーバーの設定で対処済みの場合もあります。)

実際に、Lynx というテキストブラウザで確認してみたところ、文字化けしてしまいました。
そこで、文字コードの指定を旧来の
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
に戻してみたところ、Lynx でも文字化けせずに表示することができました。

まだまだ文字化けの可能性が残されている以上は、旧来の書式を使い続けるのが無難といえそうです。

ちなみに、旧来の書式であっても HTML5 の仕様としては問題ないはずです。

ドキュメントタイプが最新の HTML5 であっても、文字コードさえ適切に認識できればたいていのブラウザで問題なく表示は可能です。先の Lynx でも、IE4 でも Netscape Communicator 4.7 でも問題はありません。むしろ、記述が単純化された分、認識率が高まったといってもいいくらいです。

ちょっと気になるのは、推奨されている UTF-8 以外の文字コードを使用した場合に何か問題がおきるかどうかということですね。Shift_JIS でも問題がないのなら、無理をして全てのページを UTF-8 に書き換える必要もないと思うのですが。

詳しい人がいたら教えてください。

0 件のコメント:

コメントを投稿