解決済

clip!clip!
Ads By Google

javascriptのunescapeを使ったデコードが思い通りにいかないのですが。

Internet Explorerだけデコード結果が異なってしまいます。
ネットスケープなどと同じデコード結果を得る為にはどうしたらよいでしょうか?

2006-04-15 06:21の質問
この質問と回答を読んで役に立った場合は「役に立つ質問」に投票してください。投票が多い質問は、役に立つ質問一覧に掲載され、より多くの人に見てもらうことができます。

回答(1)

1.

2006-04-15 11:47:21ベスト
escape/unescapeは、過去の互換性のために残されているだけの関数だと思いますので、
encodeURI/decodeURI
または、
encodeURIComponent/decodeURIComponent
の使用を推奨します。後者は、:とか/とかも変換されます。
古いブラウザだとこれらの関数は実装されていないかもしれませんが、escape/unescapeはブラウザによって文字コードの扱いが異なるので、一般的には使えません。逆にいうと、文字コードを統一するコードを仕掛けておけば、escape/unescapeでも異なるブラウザ間でも期待通りの変換になるはずですが、これは面倒なので、encodeURI/decodeURIを使う方が幸せです。

もし古いネスケとかも視野に入れるなら、どうしようもないので、CGIとかで文字コードを変換するとよいかと思います。JSだけでは面倒です。

<!--これでいいのかな。。。-->
回答レベル : 回答

質問が間違っていたのに正しく解釈されたご回答ありがとうございました。m(__)m
正しい質問内容は「javascriptのescapeを使ったエンコードが思い通りにいかないのですが。」でした。

encodeURI/decodeURIというビルトイン関数は初めて知りました。
おかげ様で希望する動作が得られました。

Ads By Google

コメント

まだコメントがありません

トラックバック(2)

トラックバックURL: