[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
asahi rss
の
ヘッダーの文字化け
- From: Hideyuki SHIRAI (
白井秀行
) <shirai@xxxxxxxxxxx>
- Date: Mon, 14 Mar 2005 16:09:47 +0900 (JST)
- X-ml-name: emacs-w3m
- X-mail-count: 07883
白井です。
# 山岡さん asahi の対応お疲れ様でした。
# おかげで以下の実験が出来たりしました ^^;;;
asahi の rss のヘッダー部分が mew-shimbun で化けるという話を聞い
て先週から調べていたのですが、確かに化けます。
で、いろいろと条件を絞ってためしてました。
(1) Mule-UCS を *使っていない* Emacs CVS Head(近辺)で化ける。
(2) ほとんど 100% 化ける。
(3) なにかすると化けないこともある。
(4) 化けるときは、shimbun-headers() の戻り値がすでに化けている。
(5) 化けるときは、shimbun-retrieve-url() で取得したバッファがす
でに化けている。
そこで再現コードを作ってみました。ちょっとためして貰えるとありが
たいです。
Emacs CVS Head(近辺)で 'emacs -q' で起動直後に test.el の各部分
を動かしてみてください。また、それぞれのテストの実行前に Emacs
を再起動してください。
そうすると、
test1
*tmp1* => 化ける
*tmp2* => 化けない
test2
*tmp1* => 化けない
test3
w3m => 化ける
となると思います。ようするに Mew も shimbun も関係なくて、Emacs
を立ち上げた後 w3m-decode-buffer() で初めて utf-8 を使うために
subst-* をロードする状態だと(なぜだか)化けてしまうようです。
## さてどうしましょうかねぇ。。。Emacs のバグかなぁ。
--
白井秀行 (mailto:shirai@meadowy.org)
;; -*- mode: Emacs-Lisp; coding: iso-2022-7bit-unix -*-
;; test1
(let ((buf1 (get-buffer-create "*tmp1*"))
(buf2 (get-buffer-create "*tmp2*")))
(pop-to-buffer buf1)
(erase-buffer)
(require 'shimbun)
(shimbun-retrieve-url "http://www3.asahi.com/rss/index.rdf" 'reload)
(pop-to-buffer buf2)
(erase-buffer)
(shimbun-retrieve-url "http://www3.asahi.com/rss/index.rdf"))
;; test2
(let ((buf1 (get-buffer-create "*tmp1*")))
(decode-coding-string (encode-coding-string "あ" 'utf-8) 'utf-8)
(pop-to-buffer buf1)
(erase-buffer)
(require 'shimbun)
(shimbun-retrieve-url "http://www3.asahi.com/rss/index.rdf" 'reload))
;; test3
(let ()
(require 'w3m)
(w3m "http://www3.asahi.com/rss/index.rdf"))