- - PR -
UrlEncodeについて教えてください。
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2003-02-04 14:51
初めて投稿します。
現在asp.netでwebアプリケーションを開発しています。 getで日本語文字列を server.urlencodeをかけてパラメータ渡しをしています。 ところがIEとNS4.78だとマウスのカーソルをハイパーリンクに合わせると きちんとENCODEされてブラウザの下に表示されるのですが NS7ですと勝手にDECODEがかかってしまい。もとの文字列がそのまま表示され ENCODEしている意味が無くなってしまいます。 もちろんソースをみるとENCODEされているのですがこれDECODEさせないで表示させる方法はあるでしょうか? www.aaaa.aspx?moji=%e3%81%bb%e3%81%92%e3%81%bb%e3%81%92 (IE OR NS4.78) www.aaaa.aspx?moji=ほげほげ (NS7.0) よろしくお願い致します。 |
|
投稿日時: 2003-02-04 15:21
>ENCODEしている意味が無くなってしまいます。
残念ながら、これはエンコードの使い方が間違っていると思います。 UrlEncode()は、HTTPリクエストのRequest-URIで文字列を渡すための変換をしてくれるもので、人に読めなくするためのものではありません。 |
|
投稿日時: 2003-02-04 15:28
> NS7ですと勝手にDECODEがかかってしまい。もとの文字列がそのまま表示され
> ENCODEしている意味が無くなってしまいます。 「ENCODEしている意味」とは何でしょうか? 「エンコード」は「暗号化、記号化」という意味ですが、URLエンコードの場合は暗号化というよりも「本来やり取りできない文字を記号化をしてやり取りをする」という用途です。 それなので、デコードされた文字が表示されたくない(または解析されたくない)のであれば、本当の暗号化をするべきなのではないかと思います。 |
|
投稿日時: 2003-02-05 05:21
Netscape7において、URLencodeがステータスバーの表示で勝手にデコードされている、とのことですが、
それで何か処理に不都合が出ていますか? 「URLencodeされずに送信されているようで不安だ」以上の問題は発生していないはずです。 Netscape7はステータスバーの表示を勝手にデコードしてくれるようですが、 ちゃんとデータの送信時にはURLencodeした状態でデータ送信してくれるはずです。 なので、「気にしなくい」が解決法かと。 また、もし、ユーザに送信内容を伝えたくない、という理由でURLencodeしているならば、 それはURLencodeの使い方が間違っています。 URLencodeは、ただのencodeで、暗号化ではありません。 #だから、Netsxape7は気を利かせて、読めるように表示してくれるのです |
1