首页 > Web开发 > 详细

asp.net url址址中中文汉字参数传递乱码解决方法

时间:2014-10-13 22:54:28      阅读:435      评论:0      收藏:0      [点我收藏+]

中文乱码是网站开发中会常碰到的问题,今天我们来讲一下关于url址址中中文汉字参数传递乱码解决方法,有需要的朋友可以参考下。
在cs文件里传参的时候用UrlEncode:

Response.Redirect("B.asp教程x?Name="+Server.UrlEncode(Name));

接参的时候用UrlDecode:

Response.Write(Server.UrlDecode(Request.QueryString["Name"]));
脚本儿里传参的时候用escape:

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

接参的时候仍然用UrlDecode:

Response.Write(Server.UrlDecode(Request.QueryString["Name"]));
总结三点方法

解决的方法一般有3种:

1.设置web.config文件

<system.web>
......
<globalization requestEncoding="gb2312" responseEncoding="gb2312" culture="zh-CN" fileEncoding="gb2312" />
......
</system.web(www.111cn.net)>

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))
from:http://www.111cn.net/net/160/38841.htm

asp.net url址址中中文汉字参数传递乱码解决方法

原文:http://www.cnblogs.com/alibai/p/4023203.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!