代码改变世界

关于javascript编码url的中文参数

2007-08-07 10:19  胖子  阅读(5588)  评论(6编辑  收藏  举报
做中文站点,在url中使用中文参数太正常了,比如:http://website/list.asp?keyword=关键字
在理想状态下,是不需要做任何的处理,list.aspx页面可以接收到“关键字”这个中文参数,但相当一部分情况下,会得到乱码,所以为了安全保险起见,我们还是要对中文字符作一下编码,编码很简单

var s1= '中文参数';
var s2 = escape( s1 );
alert( s2 );

通常情况下,list.aspx页面会对传入的已经编码的参数自动处理(用debug跟踪调试的时候可以看到),但不能保证所有人的程序都会这样,我自己就遇到接收过来还是类似:%uXXXX这样的字符串,所以最安全的方法,就是我们利用.net提供的方法,解码一下。

string KeyWorld = Server.UrlDecode( Request.QueryString["keyword"] );