Web编解码方式集合

做中文站点,在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 " ] );

.net编码配置

1、设置web.config文件。(我不喜欢设置成这样)


< system .web >  
    
< globalization  requestEncoding ="gb2312"  responseEncoding ="gb2312"  culture ="zh-CN"  fileEncoding ="gb2312"   />  
</ system.web >   或者:
aspx文件中:


< meta  http-equiv ="Content-Type"  content ="text/html; charset=gb2312" > 2、传递中文之前,将要传递的中文参数进行编码,在接收时再进行解码。
>> 进行传递


string  Name  =   " 中文参数 "
Response.Redirect(
" B.aspx?Name= " + Server.UrlEncode(Name));  >> 进行接收


string  Name  =  Request.QueryString[ " Name " ]; 
Response.Write(Server.UrlDecode(Name)); 
或者:
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值