Information

日記

G-ZONEのメインコンテンツとは関係のない日々を綴ったX-Virusの日記です。メインコンテンツが更新されていない時、X-Virus が何をしているか、ここを読んでもらえれば分かるように・・・というより、自分が何をしようと目論んでいるかといった備忘録として使う予定です。

< 2007 / 3 >




1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
最近の日記

-- 2007-03-27

サイトデザインの見直し作業が続いている。

ネット上に沢山ある情報は、非常に参考になる。しかし解せないのは、css の解説や html の解説をしているサイトのページが時として文字化けする事だ。そして、文字化けの原因を追及しているサイトもあるけれど、的外れなことを書いているサイトも多い。一番解せないのは、特定の文字を HTML 文に埋め込んで文字化けを回避するを今だ得意げに解説しているところがあることだ。

文字化けの原因は、HTTPプロトコルヘッダにあるキャラクターセットと、実際のページのキャラクターセットが異なる事にある。これが原因のサイトがほぼ100%を占める。

HTML でもキャラクターセットを指定できるが、それは HTTP でキャラクターセットを指定しない時に使えるテクニック。もし HTTP でキャラクターセットが明示的に指定されている時には、それが優先されるし異なるキャラクターセットを HTML に使うべきではない。

HTTP と HTML は全く違う。当然キャラクターセットに対する考え方も違う。HTTP は、通信環境やサーバのモジュールやモジュールを動作させるためのプログラムの関係からキャラクターセットを決める。HTML はデザイン上の問題でキャラクターセットを決める。 HTTP のキャラクターセットと相容れないキャラクターセットを HTML で採用する理由は全くといっていいほど根拠が無い事がほとんどだ。確かにデザイン上 Unicode が使えれば、使える言語の幅も広がるし使える文字も多くなるので、使いたいとデザイナーが思うことはあるだろう。しかしそれを支えるシステムが無ければ、デザイン以前の問題だ。

ちなみに G-ZONE では、過去の悪習から Shift JIS を HTTP のキャラクターセットとして送っている。XHTML でもキャラクターセットを指定するときには当然これに従う。唯一違うのは、Google bot 向けの xml。Google bot が Unicode を要求しているので、送信するファイルは UTF-8、もちろん HTTP のキャラクターセットも UTF-8 をセットして送信している。

と、かっこいいことを言ったが、現在の G-ZONE での HTML キャラクターセット指定は酷い。x-jis となっているところがほとんど。shift_jis に改めなければいけないが、どうせ新しいデザインで一新されるからほったらかし。

新しいサイトは、できる限り w3c の仕様通りのフォーマットにするつもりだ。これで、問題が出るとするとブラウザの問題。しかし w3c の仕様通りに送出している限り、少なくともブラウザで文字化けが起きて読めない事はないと断言しても良いだろう。まあ、IE はこの辺を上手く処理できるので、大抵文字化けを起こす事は無い。

しかし、IE でしかテストしないサイトの場合、所詮 IE でしか見る事は出来ない。もし、IE がバグを修正し、正しい css の解釈ができるようになったとたん、それまで美しかったデザインは地に落ちた醜いものに変身。ウェブデザイナーは慌てて対応することになりかねない。

間違った情報は、全て勉強不足からくる。情報収集能力も必要かもしれない。自分も気をつけなければならない。改めて G-ZONE にある記事を読み返すと、勉強不足のところが目につく。精進あるのみ。