• 締切済み

iis5のURLEncodeについて

お世話になります。 IIS5.0(ASP3.0)の ASPソースに漢字込みのURLを記述し、 response.redirectで飛ばすと、 %%~~%%%と自動でエンコードされます。 これは、IIS5.0(ASP3.0)からの 機能と考えてよろしいのでしょうか? 逆に、エンコードしたくない場合は、 どうすれば良いのでしょうか? 教えてください。

みんなの回答

  • flame
  • ベストアンサー率100% (3/3)
回答No.2

MSDNを調べてみたところ、IIS4ではエンコードしない文字列を、IIS5ではエンコードされた文字列を送るというのが仕様で、エンコードされていない文字列を送信したい場合は、unescape()関数を使い Response.redirect(unescape("/test.asp?name=名前")); (JScriptの文法で記述しているので、VBScriptであればそちらの文法で記述してください) のように記述することで、エンコードされていないURLへリダイレクト可能なようです。 詳しくは、下記のURLを参照してください。(英文です)

参考URL:
http://support.microsoft.com/support/kb/articles/Q267/8/83.ASP
すると、全ての回答が全文表示されます。
  • flame
  • ベストアンサー率100% (3/3)
回答No.1

サーバ側で、能動的にエンコードしていない(Server.urlEncodeメソッドを使用していない)にも関わらず、クライアントのURL欄にエンコードされたURLが表示されるというのであれば、それはInternetExploer(ブラウザ側)の機能です。 一応、ブラウザの詳細設定の中に「常にUTF-8で送信する」というチェックボックスがあって、それを外せば、エンコードされない状態にはなりますが、今回の目的には役立たないでしょう。他のブラウザではエンコードされない文字列が表示されると思います。

superstar
質問者

補足

回答ありがとうございました。 今回の現象は、今までIIS4.0(ASP2.0)で稼動していたソースをそのままIIS5.0(ASP3.0)に移行する作業で発生したのですが、同じパソコン(ブラウザ)でIIS4.0の時はエンコードされず、IIS5.0の時にエンコードされます。 ので、ブラウザの設定が原因ではないと思うのですが。

すると、全ての回答が全文表示されます。

関連するQ&A