なひです.

URL encodeって難しいですよね...
使うタイミングも考えないといけませんよね.誰が何の目的で使うか.
普通は,POSTやGET用のクエリを作っている時に,
各パラメータをencodeする目的で使うんだと思いますが,
青山さんの書かれているとおり,ブラウザ書く人は+も考えないといけません.
また,出来上がったURLをencodeしたい場合もある.

入力: http://foo/bar?=baz/
出力: http://foo/bar%3f%3dbaz/

ところが同じロジックに対して,

入力: http:/foo/bar?=baz/?bar=baz
出力: http:/foo/bar%3f%3dbaz/%3fbar%3dbaz

...それを期待してるわけじゃないですよね.^^;

この辺りについてちゃんと理解しとかないと使えないわけですから,
いっそのこと開き直って,

target.gsub!( /([^\w ])/ ) { |i| sprintf( "%%%02X", i[0] ) }

なんて手抜きでもいいのかなー,なんて思ったりもします.
手抜きすぎ? ^^;

> From: Wakou Aoyama [mailto:wakou / fsinet.or.jp]
> Sent: Friday, March 31, 2000 3:12 PM

> > > # URIModule::URI.escape in uri.rbとCGI.escape in cgi.rb(bundled),
> > > # さてどっちを使うべきか.

> 再検討します。