« 【MacIE5.X】特定の web ページにて Select タグのメニュー候補が表示されない | トップページ | SEOと画像検索--アクセス激増と思ったら・・・ »

2005/01/25

【解決編】Mac版IE5.2.3でのプルダウンメニュー表示不具合

昨日からずっと取り組んできた、この問題。経緯は、「Mac版IE5.2のプルダウンメニュー表示不具合」という記事を読んでいただきたいのですが、解決しました。

結論から言えば、「Windows-31J」が犯人でした。問題のあるサイトともメタタグでは「Shift_JIS」と記述されていたのですから、てっきり「Shift_JIS」だと思っていました。しかし、network sniffer VIGIL(このソフトはWindows用ソフトのため、WindowsXPの端末からアクセス)を使って、HTTPヘッダーを見て見ました。すると、両サイトともアクセス時に"Content-type: text/html; charset=Windows-31J"というヘッダーを吐き出しています。HTMLソース内のメタタグでは<meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS">となっていましたが、HTTPヘッダーは違ったわけです。

早速、2種類のファイルを準備して、テストして見ました。するとビンゴでした!!

●1. HTTPヘッダーに「Content-type: text/html; charset=Shift_JIS」を吐き出す場合。  サンプル

●2. HTTPヘッダーに「Content-type: text/html; charset=Windows-31J」を吐き出す場合。  サンプル

前者のサンプルでは、Mac版IE5.2.3でも日本語のプルダウンメニューが表示されますが、後者の場合、日本語は空白となります。昨日、問題のあるページをローカルに保存して、IEに再表示しても問題が再現できなかったのはHTTPヘッダーに問題があるためだったのです。ローカルで保存して表示した場合には、HTTPヘッダーは出力されませんので、メタタグで指定されていた「Shift_JIS」がイキになったようです。そのため、問題の解決の糸口をHTMLソース内に求めつづけている限り、問題の原因が分かりませんでした。

では、これはサイト側の問題でしょうか? Mac版IEの問題でしょうか? ここからは推論ですが、Mac版IEの問題である可能性が高いです。Mac版IE5.2.3では日本語の文字コードごとにフォントの設定が可能ですが、設定可能な文字コードは、

  • 日本語(JIS)
  • 日本語(シフト JIS)
  • 日本語(EUC)
  • ユニバーサル文字(UTF-8)
の4種類しかありません。「日本語(自動選択)」で日本語用フォントを設定してもWindows-31Jのページの表示に問題があるということは、Mac版IE5.2.3ではWindows-31Jのサイトに問題がある可能性が高いと思います。Windows-31Jなる文字コードを想定していないというべきか・・・・。

実際、HTTPヘッダーという形を取らず、メタタグで<meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS">とした場合でも、Mac版IE5.2.3では、プルダウンメニュー内の日本語が正しく表示されませんでした(サンプル)。プルダウンメニューとは関係の無い日本語テキスト部分は全く問題ありません。

結論: Mac版IE5.2.3にとってWindows-31Jは鬼門である。

Windows-31Jのページにプルダウンメニューを設置してはならない。

となります。

しかし、Windows-31Jをどうしても使いたい場合もあるようです。例えば、

●JSPで特殊文字が文字化けする場合の対処方法
http://www.atmarkit.co.jp/fjava/rensai3/mojibake02/mojibake02.html

には、Windows-31Jを使用せざるをえないシチュエーションについて説明されています。昨日見た問題発生ページが、いみじくも、JSPや、JavaをベースにしたColdFusionのページ(拡張子.cfm)であったのは、こういうことが関係しているのかもしれない。しかし、Mac版IE5.2.3のゆーざーだって約100人に1人ぐらいはいます(私のサイトのアクセス統計より)。できれば、無視して欲しくないですね。

結局、機種依存文字の関係で「Windows-31J」を使うということならば(たしかに、Safariではこの方法は有効。しかし、Mac版IEでは、AppleのTech Info LibraryにもありますようにWindows-31Jにしても機種依存文字の問題は解決しません。)、いっそうのこと、素直にUTF-8を使ったほうが良いですね。UTF-8だと、対策しないとテキストエリアの文字化けになるのですが・・・・(参照バックナンバー:「Mac版IE+ココログのコメント・文字化け」)。うーん、Mac版IE君、君はマイクロソフトに見捨てられているのか?

|

« 【MacIE5.X】特定の web ページにて Select タグのメニュー候補が表示されない | トップページ | SEOと画像検索--アクセス激増と思ったら・・・ »

コメント

コメントを書く



(ウェブ上には掲載しません)


コメントは記事投稿者が公開するまで表示されません。



トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/67411/2690288

この記事へのトラックバック一覧です: 【解決編】Mac版IE5.2.3でのプルダウンメニュー表示不具合:

« 【MacIE5.X】特定の web ページにて Select タグのメニュー候補が表示されない | トップページ | SEOと画像検索--アクセス激増と思ったら・・・ »