城館日記

2001年

12月

29日 土曜日

午前4時40分 Google の文字化け

 今一番気に入っている検索サイトは Google です。結果が出るのが早く、データ量も半端ではありません。サイトの変更がデータベースに反映されるまでに1日と言うのもいいです。

 サイトのファイルをキャッシュとして蓄えているのも非常にありがたいです。重いサーバにあるページの場合、表示されるまで非常に時間がかかってしまいます。しかし、キャッシュを使うことでその時間を短縮することが可能になります。しかもキーワードがハイライト表示され、ブラウザの検索機能を使わなくてもざっと見るだけでも目的の情報にたどり着きやすくなります。これが一番便利な機能ではないかと思います。

 さて、この便利なキャッシュ機能ですが、文字化けしやすいという欠点があります。文字化けのパターンには2種類あり、1つは冒頭に自動挿入される部分の文字コードが本来の文字コードと一致しないために発生する場合。もう1つは、ハイライトの周辺で発生する場合。どちらも珍しい現象ではないので、Google でキャッシュ機能を使った人なら1度は目にしたことがあるでしょう。

 まず、1つ目の場合は、ブラウザで文字コードを指定してやることでそれなりに対応できます。この日記を読んでいる人のほとんどは日本人でしょうから、文字化けしたページの本来の文字コードは、Shift_JIS・EUC-JP・ISO-2022-JP(JIS)の3つであることがほとんどでしょう。最近では、Unicode・UTF-16・UTF-8 などのユニコードも使われるようになってきていますが、今のところそんなには遭遇しないようなので割愛させていただきます。

 文字化けしたときにどの文字コードを指定すればいいのか判断する方法があります。Shift_JIS は日本語版 Google の標準文字コードですので必ず一致して文字化けは起こりません。ISO-2022-JP の場合、大量の $ が表示されます。おそらく、ASCIIコード と JISコードの切り替えのためのエスケープシーケンスが表示されてしまったものだと思われます。実際には、次のような感じになります。

BBt;3$"$kJ8;z$NA4$F$r5!3#$G07$&$N$OFq$7$$$3$H$G$9!#$=$3$G!"$h$/;H$&J8;z$@$1$r=8$a$k;v$,9M$($i$l$^$7$?!#=8$a$?J8;z$N;v$r

 EUC-JP の場合は、次のサンプルのように半角カタカナが多く表示されます。

ホウォネッ、ネ、マトセタワエリ、・テ、ニ、、、ハ、、、ソ、癸「、ウ、ホ・レ。シ・ク、ホセハ、マコヌソキ、ホ・筵ホ、ヌ、ハ、、イトヌスタュ、ャ、「、熙゙、ケ。」、「、鬢ォ、ク、皃エホサセオイシ、オ、、。」

 どのパターンにも一致しない文字化けが起こった場合は、おそらくブラウザの判断ミスか変換ミスと思われます。経験上、日本語自動判定にすると正常に表示されますので、Shift_JIS であると考えられます。

 これで1つ目の場合は何とかなるわけですが、もう1つの文字化けは対策のしようがありません。キャッシュデータの文字を1バイト単位で扱っているのではないでしょうか。また、丸付き数字などの明らかに機種依存である文字の直後などは確実に表示がおかしくなっているようです。機種依存文字に関してはかなり情報がありますので、可能な限り使わないようにする努力をお願いします。

 サーバがきっちりと Content-type ヘッダでファイルの文字コードを指示したり、META エレメントで文字コードの情報を記述するようにしておけば、その情報もデータベースに蓄えておくことで1つ目の対策は出来るのではないでしょうか。負荷は馬鹿にならないかもしれませんが、ユーザビリティは確実に向上すると思います。企業ですから簡単に実行するわけには行かないでしょうが、愛用者の一人として、ぜひ対応して欲しいものです。


27日 木曜日

午前0時21分 内臓肉

 レバーやモツなど、内臓系の肉が私は苦手です。言ってしまえば食わず嫌いなのですが、嫌いな理由が味ではなく内臓であることなのです。特に、消化器系が駄目です。その内側を消化されたものが流れて最終的に不要なものが固まっていくと考えると・・・。

 ちゃんと洗ったんだから大丈夫とか言う人もいますが、どんなに徹底して洗ってあったとしても、そこを通過したと言う事実は変わりません。汚い例えになってしまいますが、丁寧に洗浄して滅菌したとしても、一度でも使われた便器に溜まった水は命に関わるような理由がない限り、なかなか飲めまないでしょう。まあ、水道から出てくる水は下水であったものが混ざってると言えますが、それはまた違う感覚なのです。大気循環という経路はあまりにも規模が大きく、実感があまりありません。しかし、口から取り込んだものがたどる経路と言うのは、自分自身も似たような仕組みの身体を持つということもあり、ほとんどストレートに繋がってしまいます。

 内臓肉が好きだと言う方、食べ物が消化されて流れるさまをイメージしていても平気で食べられるでしょうか。普通はそんなことを考えていては野生では生きていけないのですが、人間は生きることが可能であり、知識と理性によって余計なことまで考えることが出来てしまいます。そして、一度気が付いてしまうとどうしても気になってしまうのです。

 理性や知識を捨て去り本能だけになれば、身体に害がないものであれば何でも食べることが出来るかもしれません。しかし、人間である限りはそれは不可能で、私は人間であることをやめる気はまったくありません。好き嫌いに理由をくっつけただけのようになってしまいましたが、どうあがいても私は内臓肉は嫌いです。ここまで読んだあなたは、これからも平気で食べられますか?


18日 火曜日

午前2時54分 生きてます

 掲示板に、生死確認の書き込みをされてしまいました。考えたら、もう1ヶ月以上更新してないんですよね。この日記も書いてるだけで、サーバには送信してないし・・・。

 デザイン変更作業が終わってからにしようと思ってたんですが、ちょっと長すぎますかねぇ・・・。

午前2時47分 MSXML4.0

 3日前から色々試していた MSXML4.0 ですが、何とか使い方がわかってきました。以下のサンプルは、全て JScript の場合です。

 使うためにはオブジェクトを作らなければなりません。3.0 の場合は次のようにすることで、変数 xmlObj にオブジェクトが入ります。

var xmlObj = new ActiveXObject("Msxml2.DOMDocument");

 4.0 で同じ事をする場合は、次のように引数を変更します。

var xmlObj = new ActiveXObject("Msxml2.DOMDocument.4.0");

 次に、selectNodes と selectSingleNode の引数に XPath を使う場合(と言うか、XPath しか使えないようです。setProperty による変更は不要になりました。)は、ノードの名前空間も考慮されます。名前空間が指定されているノードを指定する場合は、次のようにする必要があります。

xhtml.setProperty("SelectionNamespaces", "xmlns:xh='http://www.w3.org/1999/xhtml'");
                        // 名前空間 xh を設定
var xhtmlNodes = xhtml.documentElement.selectNodes("/xh:html/xh:body/xh:div");
                        // 名前空間が xh で、/html/body/div に一致するノードを取り出す

 今のところはこの2つの変更のみで大丈夫なようです。他にもアルゴリズム変更の必要があるようなら、またこの日記で書きます。

午前2時19分 初体験

 初体験を2つしました。

 1つ目は、ジャンクパーツ購入。と言っても、秋葉原のジャンク屋にあるようなものではありません。ジャンク扱いになってただけで、ビニールの包装がなければ新品に見えるようなものです。品はフラットケーブル。E-IDEの80芯2ドライブ用です。見た感じ大丈夫な可能性が高いのと、例え使えなくてもほとんど懐が痛まない値段の安さで購入となりました。

 2つ目は、内臓HDDの複数同時使用。以前のパソコン環境をご覧になった方はご存知と思いますが、20GBのものに交換してからは、古いほうはケーブルも繋げずにほったらかしのままでした。使い道を思いつかなかったのと、フラットケーブルのあまりがなかったのが理由なのですが、Internet Explorer 6.0 を試すと言う理由を見つけたため、今回復活させることになりました。
 増設するついでに、内蔵する位置や順番を変えてみました。マザーボードのセカンダリポートにフラットケーブルを挿したことに比べれば、大して難しいことではなかったです。指が太くないことに感謝(笑)

 結果のほうは、問題なく動きました。ケーブル・Internet Explorer 6.0 ともに問題無しです。

 半端な終わり方になってます。起承転結になってない。起承ぐらいですかねぇ。


15日 土曜日

午前0時41分 DKの伝統

 伊達恭子というタレントをご存知の方は居るでしょうか。ホリプロ所属のCGアイドルです。

 正式には、伊達恭子DK-96という名前でした。DKはイニシャルではなく、デジタルキッズの略だそうです。最初のデビューは1996年。当時としてはかなりリアルだったのですが、かなりの金食い虫であったに違いありません。数年後までの予定はあったようで、いつかリアルタイムで出演すると関係者が発言していました。しかし、現実は相当厳しかったようです。テレビで見かけたことはここ数年まったくありません。少なくとも私はそうです。

 そのうち所属解除となるかと思っていましたが、数字を増やしつつ生き残り続けていました。先ほどふと思い出して探してみると、しっかり生きていました。しかも、DK-2001 です。なんか容姿が変わってる気がしますが、時代の流れのせいでしょうか。


14日 金曜日

午後4時54分 Windows Installer 2.0

 昨日の日記で書いた Microsoft XML Core Services 4.0(以降、MSXML4.0) ですが、いざインストールをしようとダブルクリックをすると、Windows Installer のバージョンが古いから、新しいバージョンを含むサービスパックをインストールしろとのメッセージが。新しいサービスパックが出たと言う話は聞いたことがないので、デスクトップの隅っこに置いたままにしてました。

 翌日(今日)、ダウンロードセンターで検索してみると、2日後にリリースされたバージョンがあるようです。ファイルサイズも違うようなのでダウンロードしてみましたが、まったく同じファイルで、無駄に苦労しただけでした。

 仕方がないので今度は Windows Installer 2.0 を探しました。すぐに見つかりましたが、日本語版がありません。下手に英語版をインストールして、ダイアログが全部英語表示になったら嫌なのですが、これを利用している日本語版の市販ソフトが色々とあるようなので、思い切ってインストールしてみました。ダブルクリックすると問答無用でインストールが始まりました。続行するか踏みとどまるかの選択の余地無しと言うことでしょうか。ダイアログが日本語だったので、ちょっと安心です。インストールが終わると再起動を要求されたので、一旦ここでストップします。今日のこの日記は作業と同時並行で書いています。

 再起動中・・・・・・・・。

 再起動終了。早速 MSXML4.0 のインストーラーをダブルクリックしてみると、ダイアログはちゃんと日本語でした。ただ、フォントサイズが少し小さくなった気がします。アンチエイリアスがないので、ジャギーが目立って読みやすくもないです。前のバージョンでどうだったかは忘れてしまったので、2.0 のせいかどうかわかりません。

 何はともあれ、無事インストール終了のようです。インストール内容は、MSXML とその SDK です。SDK には、ライブラリと英語マニュアルが含まれています。MSXML4.0 のほうは、しばらく様子を見ながら使ってみます。どんな感じかはまたこの日記で。


13日 木曜日

午後6時42分 Download Center は重量級

 10月25日にリリースされていた、Microsoft XML Core Services 4.0 の日本語版が2日前の12月11日にリリースされていました。先月の16日の日記で、所有書籍リストの XML での再定義をしていると書きましたが、公開するためには HTML 形式に変換する必要があります。その処理に前バージョンの Microsoft XML Parser Version 3.0 を使用しているのですが、色々便利になったようなので試してみるつもりです。

 試すためにはまずダウンロードしなくてはならないのですが、重くてちっとも表示されません。ソースを表示して見ると、とてつもない数のプルダウンメニューがずらりと。どうやらこれが時間がかかる原因のようです。さらによく見てみると、JavaScriptがオフになっている場合は別のページにジャンプするようになっていました。直接アドレスを指定して開いてみると、あっさりと開くではありませんか。危うく永遠に待ち続けるところでした。何とか改善して欲しいものです。


3日 月曜日

午後4時42分 変化する脳

 脳はかなり柔軟な臓器で、場合によっては右脳に言語野が出来たりします。これはかなり特殊な場合ですが、普段の生活にちょうどいいように機能を変化させると言うことは珍しくありません。

 長く 3DCG をやっていると、ものがポリゴンなどで構成されたイメージで見えることがあります。Shade を使っている後輩曰く、「自由曲線線形状が見える」そうです。私も見えることがあります。Shade でのモデリングは、いかに皺が出ないようにするかを考えながらする必要があり、脳がそれに適応したのでしょう。

 頻繁に人間の顔ばかり描いていた時期は、顔を見ると十字線が見えていました。これも、脳が適応したと考えられます。

 現在の趣味の中心はプログラムになっていますが、何らかの選択をするときに、ふと条件分岐のコードが頭に浮かぶことがあります。また、アルゴリズムを考えているときは、データが移動したり条件分岐を通過したりするイメージが頭に浮かんでいます。うまくいきそうだと、それを実際のコードにしていくのです。左脳での論理を右脳が補助しているのかもしれません。イメージだけでは無理になったときは、逆に左脳で補助しています。

 他にも色々な例があるかもしれません。脳は不思議なものです。人体で最後の神秘と言われるだけのことはあります。狂牛病などを覗けば、脳科学は現在最も注目されている分野です。次々に謎が解明されていますが、同時に新たな謎も生まれているのです。


2日 日曜日

午前4時1分 コジマ

 コジマ電機の、静岡県内2店舗目が近所にオープンしたので、早速偵察に行ってきました。

 はっきり言って狭かったです。建物は3階建てのビルですが、1階は駐車場などで、2階が実際の店舗になっています。3階は事務所か何かだと思います。
 扱っている商品は、AV機器・炊飯器などの家電・パソコン関係・電球や電池です。はっきりってパソコン以外はほとんど興味がなかったので、パソコン関係のみ書きます。

 基本的に一般的な量販店で扱っている範囲のものはそろっています。パソコンはメーカー品のデスクトップとノートが並び、デジタルカメラ・プリンタ・ケーブル類などなど。周辺機器に関しては、キャプチャボード以外は全て外付けのもののみです。棚の上半分だけで、下半分はパッケージソフトです。申し訳程度にしか扱われていないと言う印象を受けました。WindowsXP も、「たくさん置いても無駄さ」という感じで、一番隅っこに置かれていました。期待した内臓パーツはほとんどなく、拍子抜けしました。

 なんというか、激戦区と化した地域としては、かなり弱いのではないでしょうか。ヤマダ電機コンプマートノジマワットマンがひしめき合い、私の感覚ではこの順に強いです。地元の大型家電量販店であるヤベ電機にも負けてます。ベリーズホーエーには勝てるかも・・・。