今日の役に立たない一言 - Today’s Trifle! -

古い記事ではさまざまなテーマを書いていますが、2007年以降はプログラミング関連の話がほとんどです。

エンコードがちがーう!

丸紅ソリューションのサイトにアクセスしたところ、Operaでは文字化け。でも、エンコードShift_JISに変更したらきちんと表示する。なんでAutoDetectが聞いてないのだ?と思いつつ、Etherealを起動してパケットを追ってみた。
すると、HTTPヘッダの部分には

Content-Type: text/html; charset=EUC_JP

と出ている。で、HTMLの中身は、

<meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS">

なんてことになってて、実際に Shift_JIS で書かれている。
おーい、HTTPヘッダとmetaタグで指定しとるエンコードがちがっとるぞー。
こういう場合、ブラウザの実装で表示が変わってくるのは理解できる。Mozillaは文字化けせずに表示した。IEも文字化けなし。Operaだけは化け化け。仕様的にはHTTPヘッダとmetaタグのどっちを優先してレンダリングするのが正しいの?
IEMozilla は、meta タグを信用しているんだろうか?それとも、HTTP ヘッダや meta タグなんて無視して実際のコンテンツのコードを判別してるんだろうか?