地址栏传中文乱码问题解决方案

1.设置web.config文件。

 

 

< system.web >
< globalization &nbsp;requestEncoding ="gb2312" &nbsp;
responseEncoding
="gb2312" &nbsp;
culture
="zh-CN" &nbsp;
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)); 

 

 

或者: 
NavigateURL = ' <%#  "WebForm2.aspx?Singer="   +   HttpUtility.UrlEncode("中国人",   System.Text.Encoding.GetEncoding("GB2312"))   %> '

3.如果是从   .HTML   文件向   .Aspx   文件进行传递中文参数的话(即不从后台用   Redirect()方法进行   Url   转换)。一样要将传递的中文参数进行编码,在接收时再进行解码。    
  >>>  进行传递    
ExpandedBlockStart.gif 代码
< script language = " JavaScript " >       

  
function  GoUrl(){      

 
var    Name    =     " 中文参数 " ;      

   location.href   
=     " B.aspx?Name= " + escape(Name);      

  }      

   
< / script>  

  
< body onclick = " GoUrl() " >  

 

>>>   进行接收    
 
string  Name  =   Request.QueryString[ " Name " ];  

Response.Write(Server.UrlDecode(Name)); 

一般来说。设置web.config文件就可以了。但是如果你用   JavaScript   调用   webservice   方法的话(往webservice里面传递中文参数)。设置   web.config   文件好象无效。    
    
  ————————————————————  
  在html中实现编解码: 
ExpandedBlockStart.gif 代码
< script   language = " javascript " >     

   
function  openUrl(src){    

      
var    strUrl = escape(src);    

       window.open(strUrl);    

  }    

          

   
function  change_url(src){    

     document.location.href
= escape(src);    

   }    

< / script> 

在新窗口保存   
 
< href ='javascript:openUrl("css/合同.doc");' > 交合同 </ a >

当前位置保存,无闪烁。
 
< href ="#"  onclick ='change_url("css/合同.doc")' > 合同 </ a >

注意:路径中的斜线是:“/”,而不是“\”,否则也不行啊。
 
 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值