Wednesday, 28. February 2007, 17:35:44
IE, opera, HTML, Firefox
現在開発してるWebシステムの、とある画面に
<image src="...">
なんてタグが。。。
「そりゃぁダメだろ。」と思ったのですが、どうやら image タグでもイメージを表示できる模様です。(だからといって、「image タグを使ってもいい」なんて口が裂けても言いません・・・)
HTML 4.01 Strict で書いたサンプルOpera 9.10・Firefox 2.0・Internet Explorer 7(xp) 共に、image タグが img タグと見なされ、src 属性で指定されたイメージが埋め込まれて表示されます。Opera・Inernet Explorer で、alert(document.body.outerHTML) を実行すると見事に IMG と表示されますし、Firefox の DOM Inspector で見ても IMG エレメントとして表示されます。
XHTML 1.0 Strict で書いたサンプルこちらは面白い結果になりました。
Opera 9.10 では img タグと見なされ、Firefox 2.0 では無効なタグとして無視されます。いずれも DTD 検証エラーにはなりませんし、エラーコンソールも無言のままです。(「何のために XHTMLで書いているんだか」と思ったのですが、XHTML のダウンロード途中からレンダリングを始めるとなると、DTD 検証なんてやってられないですね・・・)
Internet Explorer 7(xp) は問題外・・・ダウンロードダイアログが表示されました。7 になっても XHTML(application/xhtml+xml)に対応していない様です。。。
Monday, 29. January 2007, 16:04:07
IP Unreachable, Windows Update, opera, IE
今の勤務地にきてから Windows Update ができなくなっていた・・・というのが11月の月例アップデートの時期に発覚してました。「更新を確認しています」画面で "0x80072EE2" エラーが発生するのです。再現率 100%。
エラー番号で検索すると、KB(
Windows Update でエラー番号 0x80072EE2 が表示される場合の対処方法)が見つかりましたが、ここにかいてある対処方法が無茶苦茶だったりします。プロキシ相手に HTTP/1.1 をしゃべらせたり、プロキシ無視にしたり、挙げ句の果てにファイアウォールのせいにする。Windows Update のサイトが見えている時点で、いずれも対応策も的を外していませんか??
・・・どうせ外に出られないので、3ヶ月ほど放置していました。
最近、仕事に余裕が出てきたので本腰を入れて調査したところ、「更新を確認しています」画面の裏側で、Windows Update がダイレクト接続で https をしゃべろうとしていました。
今の勤務地では、常駐先の方からは、各自プロキシサーバのアドレス・ポートを入力するように指示されています。… 大量のプロキシ無視リスト付きで。面倒なので、自前で pac ファイルを作成し、IE・Opera・Firefox のプロキシ設定に file スキーム(file://~) で指定していました。これで、3つのブラウザが同じプロキシサーバとプロキシ無視リストを共有でき・・・Windows Update は無視してくれているようですが。
一旦、エラー番号 "0x80072EE2" をみなかったことにして、pac の設定が無視される現象として検索をしたところ、KB の(
自動構成スクリプトの指定方法によって Windows Update が失敗する) を見つけました。Windows Update は Internet Explorer とは別の HTTP 実装(WinHTTP)を利用していて、WinHTTP では file スキームの pac を無視するんだとか。
自端末で Apache を稼働させていたので、pac を UserDir 配下に置いて、IE・Opera・Firefox のプロキシ設定に http スキームで指定しなおしました。Windows Update は見事に成功。3ヶ月分の更新を一気にインストールしました。
一方で Opera が pac 解析中に Syntax Error を起こしてしまう問題が発覚。pac は Shift_JIS で書いていて、Apache は Content-Type をつけずに pac を返していました。Opera はこれを UTF-8 と見なして解析していたようです。試しに、pac を UTF-8 で保存し直したところ、Opera は Syntax Error を起こさなくなりましたが、今度は IE と Firefox が Syntax Error。泣きそう。。。
Opera だけ file スキームで指定するのもいやだったので、ある意味で「正しい」対応をしました。Apache 側で「Content-Type: application/x-ns-proxy-autoconfig; charset=Shift_JIS」を出力するように、AddType と AddCharset を追加。これで Opera の Syntax Error も回避できました。ちゃんと charset パラメータを見てくれてるんですね。
Monday, 23. October 2006, 16:54:59
opera, mail, unicode
円記号が U+00a5 になっていたメールのソースを確認しました。
結論: U+00a5 にしたのは Opera。
問題のメールは Outlook(Exchange) から送信されており、メッセージソース上は何も問題ない ISO-2022-JP のメールでした。円記号もソース中は \x5c でした。
・・・しかし、何かが違うようです。
このメッセージソースを Peggy で別名保存して Opera にインポートさせると、U+00a5 への変換をしなかったのです。・・・んんん??
さらに不思議なことに、Peggy で別名保存したメッセージソースと、オリジナルのメッセージソースとの diff を取ると、目視では違いのない差分が示されました。
両者の違いは、マルチバイト文字列の後「ここからは英数字です」を意味するエスケープシーケンスでした。
オリジナルのメッセージソースでは、「ESC "(" "7" (ここからは JIS X 0201)」です。
一方で Peggy で保存したメッセージソースは、「ESC "(" "B" (ここからは ASCII)」です。
なるほど、Opera はこんな細かいところに(忠実に?)反応していました。
確かに、JIS X 0201 では文字コード \x5c は円記号なので、これを UNICODE にマッピングすると U+00a5 の円記号が妥当でしょう。
ASCII では文字コード \x5c はバックスラッシュなので、これを UNICODE にマッピングすると U+005c のバックスラッシュが妥当でしょう。
しかし、Windows はそんなのドン無視で、ASCII だろうと JIS X 0201 だろうと \x5c は U+005c にマッピングされます。
(バックスラッシュとして見えるか、円記号として見えるかは、フォント次第(--; )
というわけで、Opera の忠実?な対応が裏目に出てしまった格好です。
考えてみると、\x5c を円記号とみなしたで考えたのが久しぶりのような気がします。
Peggy では、\x5c をバックスラッシュとして表示するフォントを使ってますし、円記号で表示されるフォントで見ても、人と話すときは常に「ばくすら」ですから。。。
Sunday, 22. October 2006, 18:04:00
mail, unicode, opera
メールに書かれているバスが「存在しない」って言われる現象に出くわすことがあります。順にディレクトリを下っていくと確かに存在しているのに。Peggy に一旦貼り付けてクリップボードにコピーし直すと、このエラーが発生しなくなります(他のエディタでも多分同じ結果でしょう)。不思議。
その原因が、これ。

円記号の字形を持った文字がコード U+005c と U+00a5 の二カ所にあるよ…って問題。
見事にやられました。
僕が受け取ったメールは、ディレクトリ区切りがすべて a5 の円記号になっていたのです。
Windows が UNICODE の U+00a5 を Shift_JIS の \x005c にマッピングしている様で、UNICODE 非対応エディタに貼り付けると、U+00a5 の円記号がすべて \x5c の円記号/バックスラッシュに置換されていたのでした。
# 逆に Shift_JIS の \x005c は UNICODE の U+005c にマッピングされるのに…。
僕は、拙作
ShellExecute で開くコマンド を使っていたので、「円記号をファイル名・ディレクトリ名に使うやつはおらんだろ」と言う発想で、
ShellExecute.wsf に U+00a5 → U+005c 変換を加えて対処しました。
… ほんとにおらんのか?ためしに、U+00a5 の円記号を使ったディレクトリ・ファイルを作ってみました。

… できてしまった。(下のファイル名は、全角の円記号「¥」を使った場合)
このファイルは、Peggy で開くことができませんでした。パスが存在しないって。UNICODE に対応していないアプリケーションには、\x005c に変換された(実在しない)パスが渡されるんですから、当然の結果です。
日本語版 Windows を使っている人たちにとっては、ディレクトリ区切り文字は(\x005c の文字ではなく)円記号なのですから、U+00a5 の円記号もディレクトリ区切りとして扱って… せめてファイル名の禁止文字に入れてくれればいいのに。
… ということで、「円記号に気をつけろ」という増やしたくない知見が増えるのでした。。。
Wednesday, 21. June 2006, 15:47:08
opera, mail
前のエントリに書いた通り、クリーンインストール+メールインポートをしてしまったのです。
mail ディレクトリのコピーではなくて、インポートです。
… Filters の下が空~
うわ、またやってしまった。。。orz
# 8.5 → 9 tp1 のときもやっとります。
というわけで、暇を見つけて Filter を作らないといけません。
面倒くさ。。。
ただ、ほかのメーラと違って、
・送信者/あて先ごとのフィルタ
・メーリングリストごとのフィルタ
は自動で作ってくれます。
あと、検索を実行すると、検索条件がそのままフィルタになります。
# こちらは検索精度が良くないので、あまり使いません。
僕の職場では、Subject に【…】形式の見出しをつけることが
はやっているので、これを条件としたフィルタを数個作るだけで、
仕事に復帰できます。
… というのすら面倒。楽に慣れるのって恐ろしいですね。
Showing posts 1 -
5 of 12.