[Date Prev][Date Next][Thread Prev][][Date Index][Thread Index]

Re: w3m-decode-buffer and handling URIs containing non-ASCII characters



>>>>> In [emacs-w3m : No.09678] 土屋さん wrote:

>>> On Tue, 20 Feb 2007 18:36:32 +0900
>>> yamaoka@xxxxxxx (Katsumi Yamaoka) said as follows:

>>そうですね。結局 w3m-decode-buffer で、コンテンツを取得して全体をデコー
>>ドした直後の html ソースの段階で、その手の非-ASCII文字を含む url をエン
>>コードしてしまうことにしました。これなら shimbun でも有効なはずです。

> これも,ちょっと問題が多い変更ではないかと思います.

御意。

> もともとの設計では,

>     w3m-decode-buffer() は文字コードの解釈のみ.
>     URI の対処は,w3m-fontify-anchors() で行う.

> と切り分けてありました.具体的には,w3m-url-transfer-encode-string() を呼
> び出している個所を grep してみて下さい.現状では,w3m-decode-buffer() で
> encode し,さらに,w3m-fontify-anchors() でも encode するという二度手間を
> やっていませんか?

> そもそも,w3m-url-transfer-encode-string() は,非常に危険で暫定的な関数な
> ので,安易に使うべきではないと思います.と言うのは,

あ、はい。

[...]

> w3m-url-transfer-encode-string() は,とりあえずの代替案として,「現在表示
> 中のページで使われている文字コードでエンコードする」という実装になってい
> ますが,これは暫定案に過ぎません.

> shimbun ライブラリの場合は,アクセスするサーバ毎(つまりモジュール毎)に適
> 切な文字コードが分かるのですから,このような暫定案よりも,shimbun モジュー
> ル側でエンコードする方が確実だと思います.

どうもありがとうございます。残念ながら元の新聞記事は手元に無いの
でパッチ後の emacs-w3m で試すことができないのですが、

http://waga.nikkei.co.jp/comfort/shopping.aspx?i=20070213g5000g5

のページはまだ存在していて、下の方に

「アマダナ」の「銀座velvia(ベルビア)館」店内

という画像もあります。ぼくはこれを shimbun でも通常の emacs-w3m
によるブラウズでも扱えるように w3m-current-coding-system でエン
コードしたもので置き換えたわけですが、どうお考えになります?
-- 
山岡