`
shirlly
  • 浏览: 1664645 次
  • 性别: Icon_minigender_2
  • 来自: 福州
社区版块
存档分类
最新评论

【转】asp.net中URL参数传值中文乱码的三种解决办法

    博客分类:
  • .NET
阅读更多
在做Asp.Net开发的时候,经常会遇到页面乱码的问题,下面是在网上收集的相关资料,请大家参考:
解决的方法一般有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 文件好象无效。

或用

Response.Redirect("test1.aspx?111="+System.Web.HttpUtility.UrlEncode("中华人明共和国")) ;

//建议使用最后如果是从其他的页面获取中文参数没有乱码,那就更简单了

string message ="http://localhost/Test/test1.aspx?111="+System.Web.HttpUtility.UrlEncode("中华人明共和国");

http:

//你要获取某个页面的返回值的地址"

//发送请求

HttpWebRequest myHttpWebRequest = (HttpWebRequest)WebRequest.Create(message) ;

//接受请求

HttpWebResponse myHttpWebResponse = (HttpWebResponse)myHttpWebRequest.GetResponse() ;

Stream receiveStream = myHttpWebResponse.GetResponseStream() ;

StreamReader readStream = new StreamReader(receiveStream, System.Text.Encoding.GetEncoding("GB2312")) ;

//此为要取页面的返回值输出的返回结果

returnValue = readStream.ReadToEnd();

转自:http://www.cnzzad.com/tut/47825.html
分享到:
评论

相关推荐

    asp.net中URL参数传值中文乱码的三种解决办法

    在ASP.NET开发过程中,我们时常会遇到URL参数传递中文字符时出现乱码的问题。这个问题主要源于字符编码不一致导致的,下面将详细讲解三种解决这个问题的方法。 ### 方法一:设置Web.config配置 在ASP.NET应用的`...

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

    在Asp.Net开发中,遇到页面通过URL参数传递中文字符时出现乱码是一个常见的问题。这个问题通常是由于字符编码不一致导致的。以下是三种常见的解决方法: 1. **配置Web.config文件**: 在Web.config文件的`...

    js转换汉字通过URL传值避免乱码

    这是一个JS把汉字转换编码格式避免乱码的类,相当于ASP或是.NET中的UrlEncode方法.使用方法是var str = UrlEncode("这里是你要转换的汉字");这个方法有个缺点,不支持全角标点,所以要配合下面的方法把全角转换半角才...

    asp.net url传递后地址栏乱码(中文超过两个汉字)

    设置web.config文件 代码如下: &lt;system&gt; ”gb2312″ responseEncoding=”gb2312″ culture=”zh-CN” fileEncoding=”gb2312″&gt; &lt;/system&gt; 2.asp.net对asp.net页面传值 进行传递 string Name = “中文参数”;...

    Request.QueryString 乱码问题

    其中,`Request.QueryString`是ASP.NET中用于获取URL查询字符串(即URL中问号后的部分)的一种常用方法。然而,在处理包含中文字符的数据时,可能会遇到乱码的问题。本文将详细介绍`Request.QueryString`乱码的原因...

    Ajax 32个控件学习之

    通过以上介绍,我们可以看出,无论是处理URL中的特殊字符,解决中文乱码问题,还是利用`UpdatePanel`实现页面的部分更新,都是Ajax开发中不可或缺的关键技术点。掌握了这些知识点,将有助于开发者更加高效地开发出高...

    C#编程经验技巧宝典

    111 &lt;br&gt;0184 如何在ASP.NET中获取文件的扩展名 111 &lt;br&gt;0185 如何在ASP.NET中用URL在页面之间传值 112 &lt;br&gt;0186 如何使用IsPostBack实现ASP.NET页面加载 112 &lt;br&gt;0187 如何利用输出缓存技术缓存...

Global site tag (gtag.js) - Google Analytics