当前位置:编程学习 > C#/ASP.NET >>

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

js代码:

var pname = encodeuri(encodeuri('<%=productname %>'));

c#代码:

 

编码:var name = server.urlencode(request.querystring["pname"]);解码:var productname = server.urldecode(param[2]);

注:网上也有在web.config中配置:

<globalization   requestencoding= "gb2312"   responseencoding= "gb2312"   />,

指定编码
发送方 server.urlencode("中文", encoding.getencoding("gb2312"));
接收方 server.urldecode(request["key"], encoding.getencoding("gb2312"));

笔者不推荐使用,这样解决了这里的乱码却可能会引起其他地方的乱码,而且默认编码是utf-8,应用范围比gb2312广


总结与实例

html 文件向 .asp教程x 文件进行传递中文参数的话(即不从后台用 redirect()方法进行 url 转换)。一样要将传递的中文参数进行编码,在接收时再进行解码。

>> 进行传递

<script language="网页特效">

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 文件好象无效。

补充:asp.net教程,.Net开发
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,