asp.net url 地址栏乱码,中文超过两个汉字就乱码

发布时间:2020-03-02编辑:脚本学堂
asp.net url 地址栏乱码:在 asp.net 页面传递编码好的url时,只要中文超过两个汉字,传到另一个页面后,就会在地址栏中发生乱码,很是让人头疼。

asp.net url 地址栏乱码
在 asp.net 页面传递编码好的url时,只要中文超过两个汉字,传到另一个页面后,就会在地址栏中发生乱码,很是让人头疼。
下面给出具体的解决方法,有遇到同样的问题的朋友,可以参考下。

1、配置web.config
 

复制代码 代码示例:
<system.web>
<globalization requestEncoding="gb2312" responseEncoding="gb2312" culture="zh-CN" fileEncoding="gb2312" />
</system.web>

2、asp.net对asp.net页面传值
传递:
 

复制代码 代码示例:
string Name = "中文参数";
Response.Redirect("B.aspx?Name="+Server.UrlEncode(Name));
 

接收:
 

复制代码 代码示例:
string Name = Request.QueryString["Name"];
Response.Write(Server.UrlDecode(Name));

3、js对asp.net页面传值
 

复制代码 代码示例:
<script language="javascript">
function escode()
{
location.href ="B.aspx?Name="+escape(Name);
}
</script>

总结:
只要在asp.net页面中,正常使用Request.QueryString("Name").toString()即可以得到正确的中文,乱码自然也就不存在了。