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

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



TSUCHIYA Masatoshi writes:

> HTTP/1.1 を定めている RFC2616 および,W3C の HTML4 規格も調べたのですが,
> URI の文字コードに関しては特に記述はなく,「RFC3986 に従え」としか書いて
> いないように見えます.

HTML 4.01仕様書には以下の記述がありました。

http://www.asahi-net.or.jp/~SD5A-UCD/rec-html401j/appendix/notes.html#h-B.2.1
| こうした場合に非ASCII文字を扱うため、ユーザエージェントが次の規則に従うことを
| 推奨する。
|
|  1. 与えられた各文字を、UTF-8 ([RFC2279]参照)の1バイトあるいは複数バイトで
|     表現する。
|  2. URIのエスケープ機構により、このバイトをエスケープする。すなわち、各バイト
|     をバイト値の十六進表現HHを用いて「%HH」で表す。


しかし、現実問題として UTF-8 ではなく文書ファイルの文字コードに基づいて
escape が求められる場面も多いと思います。
Firefox や InternetExplorer は以下のようなオプションでそれらの動作を変更
できるようですので、それにならって emacs-w3m もオプションとしてはどうで
しょうか。

Firefox: network.standard-url.encode-utf8 (デフォルトは false)
InternetExplorer: 常に UTF-8 として URL を送信する (デフォルトはOFF)

なお、Opera と Safari はデフォルトでは UTF-8 でエンコードしています。
# 変更可能かどうかは知らない(^^;

-- 
有沢 明宏