[Web4r-devel-ja] defpage のパス引数の%デコードについて
Kazuo Koga
kogakazuo at gmail.com
Sat Sep 18 12:49:55 UTC 2010
はじめまして
defpageのパス引数の解釈方法について質問です。
以下のページを定義したとき、
(defpage test (path1 path2 :get get1 get2)
[p path1 " " path2 " " get1 " " get2])
path1、path2の%エンコードをデコードするイディオムのようなものはあるでしょうか。
今使っているバージョンだと%エンコードされたままの文字列となります。
たとえば、ブラウザのアドレスバーから以下のURLでアクセスします。
http://127.0.0.1:8080/test/hello/%E3%81%9B%E3%81%8B%E3%81%84?get1=%E3%81%AF%E3%81%A6
最近のブラウザ(Chrome, Safari)だと
http://127.0.0.1:8080/test/hello/せかい?get1=はて
のように表示される内容です。
web4rから返されるページは以下のような内容になります。
hello %E3%81%9B%E3%81%8B%E3%81%84 はて
path2 はデコードされず、get1はデコードされています。
URLの仕様ではエンコード時の文字セットは未定義のようですが、とりあえずUTF-8決めうちで
trivial-utf-8などの外部ライブラリを使ってデコードはできそうだなというところまで試しました。
しかし、こんなありがちな作業はフレームワーク側で用意されているのでは、と思いあたり質問してみました。
--
古賀
More information about the web4r-devel-ja
mailing list