toinamiの日記β このページをアンテナに追加 RSSフィード

2005-11-17 (Thu)

[]Operaリファ化け続き Operaのリファ化け続き - toinamiの日記β を含むブックマーク はてなブックマーク - Operaのリファ化け続き - toinamiの日記β Operaのリファ化け続き - toinamiの日記β のブックマークコメント

例えば、?Dキーワード交響詩篇エウレカセブン」経由で来たと思われるアクセスがある。カウンタには漢字部分は以下のように記録される。

%b8%f2%b6%c1%bb%ed%ca%d3%a5%a8%a5%a6%a5%ec%a5%ab%a5%bb%a5%d6%a5%f3

ところが、UAが自称 Opera 8.5だと、こうなる

%b8%f2%b6%c1%bb%ed%ca?%a8%a5%a6%a5?%a5%bb%a5?%f3


わかりにくいので、桁揃え

正常:%b8%f2%b6%c1%bb%ed%ca%d3%a5%a8%a5%a6%a5%ec%a5%ab%a5%bb%a5%d6%a5%f3
異常:%b8%f2%b6%c1%bb%ed%ca?     %a8%a5%a6%a5?        %a5%bb%a5?     %f3

文字:交  響  詩  篇  エ  ウ  レ  カ  セ  ブ  ン

実のところ、文字境界で化けているわけですらない。

化けている部分の解析

化けているコード(16進)左記の2進数表現
d3a51101 0011 1010 0101
eca5ab1110 1100 1010 0101 1010 1011
d6a51101 0110 1010 0101

うー、このビットの並びは、完全にUTF-8のビットの並びと合っているのか。

(抜粋)
   0000 0080-0000 07FF   110xxxxx 10xxxxxx
   0000 0800-0000 FFFF   1110xxxx 10xxxxxx 10xxxxxx

d3a5 は、上のビット並びと合うので、

「11010011 10100101

から、強調部分を抜き出し、下から詰め、「100 1110 0101」、つまり0x4e5 「ӥ」(「N」の上に点が二つ付いたような文字)としてOperaには認識されている。

うーむ。Operaおせっかいすぎ。その前にUTF-8として解釈しようのないビット列があるのだから、無視してくれればいいのに。


カウンタの機能として

はてなカウンターの「リンク元」記録機能は、Javascriptでアレコレしているので、アレコレすれば何とかならない事もないはずなのだけど、根本的にはOperaの問題であって、「なんとかしてー」とはてなアイデアに要望を出しにくい問題のような気がする。

没。

トラックバック - http://beta.g.hatena.ne.jp/toinami/20051117