Googleニュースの検索結果が化ける件
βが取れた頃に一部の文字化け問題は改善したが,以下のやり方では文字化けが続いてる.
- FirefoxのGoogle検索プラグインで「あいう」を検索.このとき
ie=utf-8
かつoe=utf-8
で,クエリは「あいう」をUTF-8でURL encodeしたq=%E3%81%82%E3%81%84%E3%81%86
である.結果は無論 問題ない(ページ全体はUTF-8 - 結果のページで最上部の「ニュース」をクリックして同じ単語をGoogleニュースで検索.このとき
ie=utf-8
かつoe=utf-8
で,クエリは1と同じ,「あいう」をUTF-8でURL encodeしたq=%E3%81%82%E3%81%84%E3%81%86
.この結果も化けない(ページ全体はUTF-8 - その結果のページで入力欄に「あいう」が入ったままの状態で再び「ニュース検索」.このとき
oe=utf-8
だけでie=utf-8
は付かず(formがそうなってる),しかしFirefoxはクエリをUTF-8の%E3%81%82%E3%81%84%E3%81%86
で送る(これも1と同じだが,ページ全体がUTF-8なんだから自然だろう).この結果が化けて「縺ゅ>縺?に該当するページが見つかりませんでした。」となる.これはクエリをGoogle側がSJISとして解釈した結果である(縺 = 0xE3 0x81).そりゃ見つからんわ. - その化けた結果のページのアドレス末尾に
&ie=utf-8
を付け足してやるとGoogle側がクエリをきちんとUTF-8だと理解するので化けない.
私の理解では,こういうのってformのhidden inputに適当な既知の漢字文字列を入れておいて,それをブラウザがどうエンコードして送ってくるかを調べれば ie=ほげほげ
は(ほぼ)不要だと思うんだけど.
不思議なことに,Googleニュースのトップページから「あいう」を検索して,その結果のページでそのまま「ニュース検索」すると, ie=utf-8
も oe=utf-8
もなしでUTF-8のクエリを送ってるのに,結果は正しく出るんだよなぁ.
追記: それとIEで同じ手順をやっても化けない.また www.google.co.jp のトップから「あいう」の検索を始めると似た手順を辿っても化けない.