- PR -

UrlEncodeについて教えてください。

1
投稿者投稿内容
MINORIN
会議室デビュー日: 2003/02/04
投稿数: 4
投稿日時: 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)

よろしくお願い致します。
一郎
ぬし
会議室デビュー日: 2002/10/11
投稿数: 1081
投稿日時: 2003-02-04 15:21
>ENCODEしている意味が無くなってしまいます。

残念ながら、これはエンコードの使い方が間違っていると思います。
UrlEncode()は、HTTPリクエストのRequest-URIで文字列を渡すための変換をしてくれるもので、人に読めなくするためのものではありません。
二天
ベテラン
会議室デビュー日: 2001/09/26
投稿数: 60
投稿日時: 2003-02-04 15:28
> NS7ですと勝手にDECODEがかかってしまい。もとの文字列がそのまま表示され
> ENCODEしている意味が無くなってしまいます。

「ENCODEしている意味」とは何でしょうか?

「エンコード」は「暗号化、記号化」という意味ですが、URLエンコードの場合は暗号化というよりも「本来やり取りできない文字を記号化をしてやり取りをする」という用途です。
それなので、デコードされた文字が表示されたくない(または解析されたくない)のであれば、本当の暗号化をするべきなのではないかと思います。
成瀬ゆい
常連さん
会議室デビュー日: 2002/08/16
投稿数: 21
お住まい・勤務地: 東京
投稿日時: 2003-02-05 05:21
Netscape7において、URLencodeがステータスバーの表示で勝手にデコードされている、とのことですが、
それで何か処理に不都合が出ていますか?
「URLencodeされずに送信されているようで不安だ」以上の問題は発生していないはずです。

Netscape7はステータスバーの表示を勝手にデコードしてくれるようですが、
ちゃんとデータの送信時にはURLencodeした状態でデータ送信してくれるはずです。
なので、「気にしなくい」が解決法かと。

また、もし、ユーザに送信内容を伝えたくない、という理由でURLencodeしているならば、
それはURLencodeの使い方が間違っています。
URLencodeは、ただのencodeで、暗号化ではありません。
#だから、Netsxape7は気を利かせて、読めるように表示してくれるのです
1

スキルアップ/キャリアアップ(JOB@IT)