您的位置:首页 > 编程语言 > ASP

asp.net web页传参数为汉字时,会失败,有些汉字会变成乱码,解决方法如下:

2013-06-24 13:52 656 查看
string   wd   =   Server.UrlDecode(Request.QueryString[ "wd "]); 

Response.Redirect( "?wd= "   +   Server.UrlEncode( "我是中国人 "));

asp.net页面通过URL参数传值中文乱码问题解决办法

在做Asp.Net开发的时候,经常会遇到页面乱码的问题,下面是在网上收集的相关资料,请大家参考:以下转载自:http://blog.csdn.net/echsys/archive/2008/03/12/2174125.aspx

解决的方法一般有3种:

1.设置web.config文件
 <system.web> 
...... 
<globalization requestEncoding="gb2312" responseEncoding="gb2312" culture="zh-CN" fileEncoding="gb2312" /> 
...... 
</system.web>  
2.传递中文之前,将要传递的中文参数进行编码,在接收时再进行解码。
>> 进行传递 

string Name = "中文参数"; 


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

string Name = Request.QueryString["Name"]; 


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

var Name = "中文参数"; 
location.href = "B.aspx?Name="+escape(Name) ; 

<body onclick="GoUrl()"> 
 
>> 进行接收 

string Name = Request.QueryString["Name"]; 


Response.Write(Server.UrlDecode(Name)) ;   总结:
一般来说。设置web.config文件就可以了。但是如果你用 JavaScript 调用 webservice 方法的话(往webservice里面传递中文参数)。设置 web.config 文件好象无效。
或用
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: