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

中文乱码是网站开发中会常碰到的问题,今天我们来讲一下关于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>

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))

时间: 2024-09-25 16:50:10

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

ASP.NET中Request接收参数乱码解决方法

asp教程.net中request接收参数乱码解决方法 asp.net教程 request对象的属性和方法比较多,常用的几个为:useragent 传回客户端浏览器的版本信息,userhostaddress 传回远方客户端机器的主机ip 地址,userhostname 传回远方客户端机器的dns 名称,physicalapplicationpath 传回目前请求网页在server 端的真实路径. 下面进行正题,我的web.config配置文件里配置了全局为"gb2312"编码: <

php中文文名下载乱码解决方法

解决中文乱码解决方法有很多种,一种是对url编码如urlencode方法,另一种是下面的header头处理方法以binary方法. <?php教程 $file_name = urlencode($_REQUEST['filename']); header("Pragma: public"); header("Expires: 0"); header("Cache-Control: must-revalidate, post-check=0, pre-

C# .net中cookie值为中文时的乱码解决方法

一.cookie的名称或子cookie的名称不能为中文,否则无法获得cookie 这个好办,名称不用中文即可 二.cookie的值为中文时候,取cookie的值会出现乱码 解决办法:存取cookie时候先解码和编码 存cookie,进行编码: cookie.Value = HttpUtility.UrlEncode("上海"); 取cookie时候,进行解码:cookieValue = HttpUtility.UrlDecode(cookie.Value); 另外注意: 取子cooki

Win8安装中文软件出现乱码解决方法

一些朋友在试用Windows 8开发者预览版的时候会遇到安装中文软件出现乱码的问题,很让人头疼.英文还能找办法看懂,乱码可就难猜了.怎样解决这个问题呢? Win8安装中文软件报错 其实解决问题的方法也很简单,到区域和语言设置面板中做一些设置就可以了. 进入Control Panel→All Control Panel Items→Region,将其中的"Location"和"Aministrative→Current Language for non-Unicode prog

JAVA+AXIS客户端调用Asp.net Web Service过程中遇到的问题及解决方法

        背景:公司与某运营商合作,运营商提供了接口文档,在文档中规定了数据流是双向的,运营商和公司之间的通讯采用Web Service方式,双方互为客户端和服务器端.这次遇到的问题,就是运营商的客户端调用我公司服务端的Web Service时出现的情况.需要特别说明的是:运营商有几十家合作伙伴,所以客户端的代码是不能因为某一家合作伙伴而修改的,各合作伙伴的WEB SERVICE开发环境也不相同,大部分都是用JAVA语言开发,而我公司是用VS2005开发的.         过程:    

xmlhttp中文gbk,uft-8乱码解决方法

最近用了 dhtmlx的tree,中文的xml居然用不了,报错,整个系统是gb2312的,而dhtmlx只支持utf8,英文是正常的,中文就出错.   发现是,microsoft.xmlhttp的原因,就查到了上面的文件. <script language="vbscript"> '处理中文 function bin2str(bin) dim tmp,ustr,i tmp="" for i=1 to lenb(bin)-1 ustr=ascb(midb(

PHP中文文件名输出乱码解决方法

原因是编码问题,所以要转码,用户PHP里面的 iconv 函数就可以解决: iconv("当前使用的编码如:utf-8″,"要转换的编码如:GB2312″,"文件名"); 实例:  代码如下 复制代码 $file_name="我的文件.jpg"; $file_name=iconv("utf-8","gb2312",$file_name);   //解决中文乱码问题 echo '$file_name'; 例子

ASP.NET中AJAX乱码解决方法

ajax乱码是一个程序员经常会碰到的问题,今天我们要讲的是关于asp教程.net中ajax乱码解决方法哦,下面先详细的介绍了处理方法,然后再举例说明 利用asp.net教程 string s = system.text.encoding.utf8.getstring(request.binaryread(request.contentlength));   system.collections.specialized.namevaluecollection form = httputility.

PHP中file_exists()判断中文文件名无效的解决方法_php技巧

本文实例讲述了PHP中file_exists()判断中文文件名无效的解决方法.分享给大家供大家参考.具体方法如下: php中判断文件是否存在我们会使用file_exists函数或is_file函数,但在使用file_exists时如果你文件名或路径是中文在uft8编码文档时是无效.本文就来解决此问题,下面我们一起来看看. 定义和用法:file_exists() 函数检查文件或目录是否存在. 如果指定的文件或目录存在则返回 true,否则返回 false. 例子1 复制代码 代码如下: <?php