blue

Re: 渡辺さん家の事情(IE5.0とUTF-8での文字化け、はたまたBloggerのテンプレートHTMLにWinIE分岐のスタイル指定を加える法)

  • Posted by: SOMA Hitoshi
  • February 27, 2007 11:47 PM
  • web

さてと。

そんな中、渡辺道子さんの驚くべき発言がありました。

「我が家のパソコンではこのブログの文字がすべて■になって表示されてるの」

文字化けして全く読めないそうです。

彼女の家のPC事情を聞きだしたところ、どうやらOSはwindows98でブラウザはIE。ちなみにPCは昔友人にもらったものだそうです。たぶんそれは何とかすれば見れるようになると思うのですが、いかかでしょうか相馬くん。

adieuがはじまる: 渡辺さん家の事情/笠木泉

「OSはwindows98でブラウザはIE」というのがまた漠然とした情報だけどしょうがない。言及されている「このブログ」というのは Blogger を使って作られたサイト。一方にいわば〈最新鋭の〉サイトがあって、もう一方には古いOSとブラウザがある。文字が〈全滅〉しているらしいことから、予想されるのはおそらくUnicode (UTF-8) 絡みの現象だろうということで、使用しているブラウザがこの比較的新しい文字コードに対応できていないか、それに絡んだバグがあるかするのではないかとまずは想像する。

試しに Blogger でアカウントを作ってその管理画面(ダッシュボード)を覗いてみると、文字コードはあらかじめ「UTF-8」に固定されているようで、出力エンコードを変更できるような設定箇所は見当たらない(「エンコード設定とは何ですか」というヘルプ記事があるからには少なくとも以前は設定できたとおぼしいが、ベータ版から正式版になって機能が削られたか?)。まあ、仮に変更できるとしても、ブログサイトとして推奨されるべきは「UTF-8」だろうから、できれば変更したくはないところ。

さて、「どうやらOSはwindows98でブラウザはIE」というところから察するに、いちばん可能性が高いと思われるのは「Windows98SE (Second Edition) + IE5.0」という組み合わせ。そして、可能性は低いと思いたいが、もしその「Windows98」が「Windows98SE」などではなく額面どおりそのままの「Windows98」であり、しかもそこから何も手を加えていないとすれば入っているIEは「IE4.0」である。しかし「IE4.0」ともなると、件のブログ(「adieuがはじまる」)にかぎらず、いまやさまざまなサイトの閲覧にさいして厄介事が起きているはずで、それらの不便を不便とも思わず日々ネットに接しているというのもちょっと想像しにくいのだけれど、でもなあ、

その後彼女はこういうようなことを言いました。

「ブログの題名は読めるんだけど、記事の部分はぜんぶ■だから、ブログはとりあえず作ったけどまだスタートしていませんよ、記事は今後書きますよーって意味なのかなと解釈した」

同上

という報告が示唆するのは、そこにいるのはひょっとすると「IE4.0で何も不自由を感じていない人」かもしれない、ということではあるか。──あ、いまこの部分を引用して気づいたけど、〈全滅〉じゃないんだね。「ブログの題名は読めるんだけど、記事の部分はぜんぶ■」か。すると、環境が Unicode にまったく対応していないわけではない、か。

お待たせ。いよいよ検証と解決篇

手近にあった「Windows98SE + IE5.0」と、「Windows XP + MultipleIE による IE4.0」とで検証。するとしかし、(後者はどこまでアテになるかわからないものの)ひとまずどちらの場合も件のサイトを問題なく──多少崩れているところはあるけど文字化けはなく──表示できてしまった。うーん。簡単に再現できない現象というのは厄介だよ。

で、当初の見立てに沿って「IE 文字化け UTF-8」てなワードで検索していると、ほどなく「お、これじゃないか?」というのが見つかった。

「WEBプログラミング NOW!: IE5.0の一部の文字化け(UTF-8で)の原因と対策」

紹介されている症状などからいくと、おそらく渡辺さんのもこれじゃないかなあ。詳しくは引用元の記事を参照してもらいたいが、その最後に「結論」として載っているところだけを掬えば、

Windows98SE付属のIE5.00.2614.3500では、UTF-8のHTMLファイルで一部の文字が文字化けすることがあり、その場合は、「MS ゴシック」などを明示的に指定してあげれば、文字化けが解消することがあります。

ということになる。「IE5.00.2614.3500」てなんだよと思われるかもしれないが、IE5.0にはじつにさまざまなマイナーバージョンが存在するのだった。存在するだけならまだしも、そのうちの特定のバージョンにのみ固有の不具合というのも存在して、たとえばこの文字化け問題などもそうなのではないかと記事は推測している──その推測が正しければ、私の手近にあったIE5.0(より正確にはIE5.00.3314.2101で、
これはWindows98SEに付属のものにアップデートをかけた IE5.0 Service Pack 2 にあたる)
で症状が再現されなかったことにも答えが与えられることになる。

渡辺さんのところで起きている現象が上記の見立てのとおりだとすれば、こんな具合に笠木さん側(サイトのソース記述側)での解決も可能

まず断っておくが、なにせ、結局のところ手持ちの環境では文字化けの現象を再現できていないから、以下に述べる解決策でもってはたして〈渡辺さんのケース〉が解決するのかどうかはわからない。解決策のあらましを説明すると、「Bloggerの管理画面でテンプレートHTMLを編集し、IE5で見た場合にのみ font-family にMSゴシックが適用されるようにする」という作戦。

まずBloggerにログインして、「テンプレート」>「HTML の編集」を選択。そこに出てくるソースをいじるのだが、ぐーっと一番下のほうまでスクロールすると、</head> が閉じられる手前に、

]]></b:skin>

という行があるはず。この直前に以下(の赤字部分)を追加してこのようにする。

</style>
<!--[if IE 5]>
<style>
body,
#header h1,
#header .description,
#outer-wrapper,
h2,
.post-footer,
.profile-data,
.profile-link {
  font-family:"MS ゴシック" !important;
  }
</style>
<![endif]-->
<style>
]]></b:skin>

以上。こまかい説明は割愛(挿入するソースは最後 <style> が閉じられていなかったりするが、気にせずにこのままコピー&ペーストしていただきたい)。

むろん渡辺さん側が環境をアップデートしてくれるにこしたことはない

上記の解決策がむなしくも成功しなかった場合を含めて、むろん、根本的には渡辺さん側がブラウザ環境を改めてくれさえすればすべては解決するはずである。

たとえば、IE6 SP1(ダウンロードページはここ)なら、そのシステム要件には

  • 486/66 MHz のプロセッサ
  • Windows 98 Second Edition :

    16 MB 以上の RAM

    完全インストールに必要なディスク領域 : 12.4 MB
  • Windows 98 :

    16 MB 以上の RAM

    完全インストールに必要なディスク領域 : 11.5 MB

とあるから、よくは知らないがたぶんインストールできるのではないか。

もうひとバージョン下げるというなら IE5.5 SP2 になり、これはすでにMicrosoftのサポートが終了していてオフィシャルサイトからのダウンロードはできないが、それでもたとえば、このページなどから手に入れることが可能であるらしい。

はたまた本命の、Firefox2.0。最小システム要件は、

  • 233 MHz のプロセッサ
  • 64 MB の RAM
  • 50 MB のハードディスク空き容量
  • Microsoft Windows 98

と、驚くほど敷居が低い。

関連記事

トラックバック(0)

トラックバックURL: https://web-conte.com/blue/mt-tb.cgi/148