ブログのフィードを取得 [フィードとは]

2009年5月

2009年5月 2日

Internet Explorer 6でUTF-8が文字化けしていた件とその顛末

IE6で文字化けしていた件ですが,とうとう,IE6搭載機をかっぱらってきて対応しました.Movable Typeを導入したときからだから2年越しか.長い道のりだった.Movable TypeのデフォルトがUTF-8で無かったら,そしてXHTMLで無ければ,さらに,私がテンプレートを大幅にいじらなければこんなことにはならなかったのに.

いろいろなところをいじったのですが,結局,IE6が微妙にXMLに対応していなかったのが原因だったようだ.

つまり,冒頭の<?xml version="1.0" encoding="UTF-8"?>を解してくれなかったのがことの発端である.

デフォルトのMovable Typeのテンプレートには<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />という記述があって,これがあればIE6は解釈してくれる(=文字化けしない)のだが,私はテンプレートからこの記述をぬいているのである.なぜ抜いたかといえば,XHTMLで書いたファイルでAnother HTML-lintで文法チェックをかけたら,

<meta> に指定されているメディアタイプ text/html は XHTML1.1 には指定しないようにしましょう。
XHTML1.1 では <meta http-equiv> を記述すべきではありません。

と出たのを,素直に(?)鵜呑みにしたのである.

直す方法はいくつかある.

HTML4.0で書き直す.
→ヘッダだけならともかく,空要素の末尾を変換し直すのが大変すぎる.<br />を<br>など.頻繁に出てくるimgもそうだ.しかも,これからもMovable Typeの吐くコードは<br />が出てくるだろう.
妥協して<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />と書いてしまう.
それは最終手段にしたい.
.htaccessに記述を加えてサーバ側で文字コードを指定する.
そうしよう,そうしよう.

ところがだ.AddType "application/xhtml\+xml; charset=UTF-8" .htmlと書いたら,IE6だとダウンロードダイアログが出てくるマヂかよ.ここではじめて,Internet Explorerがapplication/xhtml+xmlに対応していないことを知った(これは,最新IE8もらしい).なお,試したところ,.htaccessにAddType "text/html; charset=UTF-8" .htmlという記述を加えたところ,IE6でも文字化けしなくなった.

うーん,XHTMLはtext/htmlが好ましくなく,xhtml+xmlだからこそhttp-equivが好ましくない,だからこそmetaによる文字コード指定を削除したのに,なんか癪だなあ.

参考:W3C XHTML Media Types

結局,xhtml+xmlを解するブラウザ(FirefoxやOperaなど)にはapplication/xhtml+xmlのメディアタイプと文字コードを,解さないブラウザにはtext/htmlのメディアタイプと文字コードを付加することにした.IEに対しては妥協しているようなもんだけど.ここ,さくらのレンタルサーバはmod_rewriteがインストールされているので,これを利用する..htaccessに下記の記載を加えればOK.

AddType "text/html; charset=UTF-8" .html
RewriteEngine On
RewriteCond %{HTTP_ACCEPT} application/xhtml\+xml
RewriteCond %{LA-F:REQUEST_FILENAME} \.html
RewriteRule .* - "[T=application/xhtml+xml; charset=utf-8]"

ところが,ここからがまた大変だった.application/xhtml+xmlで送られてきたファイルはブラウザでの文法解釈が厳密で,パースエラーの嵐になったのである.結局,この文法修正に1日中かかった.直していて分かったが,エラー表示はFirefoxよりOperaの方が分かりやすい.まあ,けっこうタグのミスが見つかってこれもまた良かったよ.

たぶん,これでIE6でも文字化けしなくなった......と思いたい.少なくとも私が調達してきたWin2k+IE6では化けなくなった.Safariだとどうなのか,OS違うとどうなのかは分からないけど,もう勘弁.とりあえずはコレが精一杯です.

まー,なんだかんだ言って,文法妥協しているファイルも多々あるんだけどね.テキトーなもんで.ハハ.

コメントを投稿

| コメント (4) | PC/Web |

2009年5月 9日

新型インフルエンザ

出張旅費の処理をしているMさんから内線がかかってきました.

Mさん
グループウェアの掲示見た?
Sousui
どの?
Mさん
やむを得ない場合を除いて渡航を自粛することって.本当に行くの?
Sousui
(ブチブチブチ)わたしゃ仕事で行くんですよ!遊びに行くんじゃないんですから!命令の方取り消してくださいよ!!
Mさん
あはは~,そうだよね.

いや,アハハではなく.

でも,日本にも感染者が出た今,海外渡航自粛はあまり意味が無くなったような気がする.

日本にいるからって安心してないでみんな気をつけような!

自分一人の話で済まないから,私もマスクは大量に買ったよ.

コメントを投稿

| 雑記 > よく分からない会話集 |

2009年5月10日

「愛してるんだけど」バトン

群青君から来ましたバトン.指定はギース様だそうで.いや,君ね,私が餓狼で一番気に入ってるのはビリーなんだがな.

  1. 包み隠さず全て語ること
  2. アンカーを突っ走るのは禁止
  3. 指定されたキャラの萌えを語ること
  4. 指定するキャラは男の子キャラであること
  5. 回されたら何回もやること

だそうで.

続きを読む »

コメントを投稿

| コメント (2) | 感想 > ゲーム |

2009年5月30日

「SRW」更新

おまっとさん.かどうか分からないけど「SRW」内『己の傷の下に恢復せよ』第12章始動.あいかわらずノタノタ進んでます.しかもこの章,怒濤の状況説明でしかない.

実は,GWに更新掛けてなかったことに気づいて(ちゅーのは,数年ぶりのルパン熱発動してたから),慌てて校正してたんだけど,出張前で清書が出来なかった.しかも,「出張行っちゃえば,他の仕事は入ってこないんだから」と清書するつもりだったんだけど,ホテルで荷物開けたら原稿が入っていなかった.ヘナヘナした.いいよ,どうせ体力無くて寝てばかりだったから.ホテルの回線遅かったし.

そう言えば,今回の出張は全部盛りでした.行きは「機材調達できなかったため」という理由で成田に5時間足止めをくらい,ホテルで財布を落として現金57ドル盗まれ(財布は戻ってきた),挙げ句に帰国便に預けた荷物が載ってなかった.ゲラゲラ.手荷物預けるなんてやったことないことするもんだから.......あ,そういえば,カッター持ち込み手荷物に入れてたの,取り上げられちゃったみたいだな(見つからない).高かったんだがなあ,あのカッター.

コメントを投稿

| 更新情報 |

Powered by Movable Type