[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: google での文字化け
- From: Hideyuki SHIRAI (白井秀行) <shirai@xxxxxxxxxxx>
- Date: Thu, 11 May 2006 15:01:49 +0900 (JST)
- X-ml-name: emacs-w3m
- X-mail-count: 08655
- References: <873bfi3rdb.wl%yoichi@geiin.org>
From: Yoichi NAKAYAMA <yoichi@xxxxxxxxx> さん曰く
Subject: [emacs-w3m:08653] google での文字化け
Message-ID: <873bfi3rdb.wl%yoichi@xxxxxxxxx>
Date: Wed, 10 May 2006 23:07:44 +0900
> Google で日本語の検索キーを入れて検索した後の状態(フォームに
> 日本語のキーが入っている状態)で上部の「イメージ」「ニュース」
> などのリンクを辿るとキーが化けてしまいます。w3m 単体でも同様
> だったので emacs-w3m の問題ではないかもしれませんが報告まで。
試しに、
(defun w3m-form-make-form-data (form)
(let ((plist (w3m-form-plist form))
(coding (w3m-form-charlst form))
buf bufs)
(setq coding (w3m-form-get-coding-system coding))
(when (eq coding 'shift_jis)
(setq coding 'utf-8))
(while plist
<<snip>>
(buffer-string))))
(let ((form
(mapconcat (lambda (elem)
(setq elem (cdr elem))
(format "%s=%s"
(w3m-url-encode-string (car elem) coding)
(w3m-url-encode-string (if (stringp (cdr elem))
(cdr elem)
"")
coding)))
bufs "&")))
(if (eq coding 'utf-8)
(replace-regexp-in-string "shift_jis" "utf-8" form)))))))
などとして、無理矢理 utf-8 にして送りつけたら、その後、news や
image を選択してもちゃんと動きました。
じゃ、なんで最初 google が shift_jis のページでかつ "SHIFT_JIS
で送れ!!" と指定してくるのか?ですが、firefox と比較してみて、
(1) Accept-Charset: Shift_JIS,utf-8;q=0.7,*;q=0.7
がないので、utf-8 をサーバが使わない。
(2) 知らない User-Agent: なので、utf-8 なんか使えないだろうなぁ
とサーバが思っている。
のどちらかぐらいかしら? wget も curl もダメだったし、よくわから
んです。
で、だめもとで、コピペで
(setq w3m-user-agent "User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.0; ja; rv:1.8.0.3) Gecko/20060426 Firefox/1.5.0.3")
% w3m -header "User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.0; ja; rv:1.8.0.3) Gecko/20060426 Firefox/1.5.0.3" http://www.google.co.jp/
とかやったら、ともに utf-8 のページがくるようになり、その後も OK
になりました。だけど、
% w3m -head "Accept-Charset: Shift_JIS,utf-8\;q=0.7,*\;q=0.7" http://www.google.co.jp/
はだめ。う〜〜〜む。
--
白井秀行 (mailto:shirai@xxxxxxxxxxx)