asp.net下url传递中文的解决方案

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

</script> 
<body onclick='GoUrl()'> 
>> 进行接收 
string Name = Request.QueryString['Name']; 
Response.Write(Server.UrlDecode(Name));

一般来说。设置web.config文件就可以了。但是如果你用 JavaScript 调用 webservice 方法的话(往webservice里面传递中文参数)。设置 web.config 文件好象无效。

(0)

相关推荐

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

    编码编好的url是正确的,可传到另一个页面 就会出错,在地址栏就已经乱码了 1.设置web.config文件 复制代码 代码如下: <system.web> <globalization requestEncoding="gb2312" responseEncoding="gb2312" culture="zh-CN" fileEncoding="gb2312" /> </system.web&g

  • 在JavaScript中通过URL传递汉字的方法

    利用JavaScript通过URL方式向后台代码传值是一种经常用到的手段,但在传递汉字时经常会出现字符不全或变成乱码的问题,其原因是由于客户端IE浏览器的编码方式为GB2312(简体中文版WINDOWS的默认设置),而后台的C#代码使用utf8编码(创建WEB工程的默认配置). 网上有很多方案解决该问题,如将web.config的编码方式改为GB2312.在客户端通过escape先编码再传,个心体会都不是很理想或有些特殊字符不支持.经过比较我决定使用encodeURIComponent在客户端进

  • asp.net下url传递中文的解决方案

    1.设置web.config文件.(我不喜欢设置成这样)  <system.web>  ......  <globalization requestEncoding='gb2312' responseEncoding='gb2312' culture='zh-CN' fileEncoding='gb2312' />  ......  </system.web>  2.传递中文之前,将要传递的中文参数进行编码,在接收时再进行解码.  >> 进行传递  stri

  • php中url传递中文字符,特殊危险字符的解决方法

    我们需要在url中传递中文字符或是其它的html等特殊字符,似乎总会有各种乱,不同的浏览器对他们的编码又不一样, 对于中文,一般的做法是: 把这些文本字符串传给url之前,先进行urlencode($text)一下: 但是对于一些很"危险"的字符,比如说html字符,甚至是SQL注入相关的字符,如果很明显的传给系统,出于安全考虑,系统一般都会把它们过滤掉的. 现在,我们需要这些危险字符,该这么办? 我想到的办法是 先给它们 base64_encode($text) 编码,到服务端时,又

  • asp.net下URL网址重写成.html格式、RSS、OPML的知识总结

    一.URL网址重写1.在MSDN中下载一个文件,将ActionlessForm.dll和URLRewriter.dll放到bin目录下.这是MSDN中关于URL重写的一篇文章里的地址.在 ASP.NET 中执行 URL 重写2.将web.config文件中添加下面的代码 <!-- 自定义配置节 --> <configSections>    <section name="RewriterConfig" type="URLRewriter.Conf

  • jsp中URL传递中文参数的处理方法

    在页面的url中使用encodeURI(encodeURI(中文)),对中文进行编码,并在服务器的java程序中使用URLDecoder.decode(中文, "UTF-8")进行解码即可; 如果url中需要传递+.#.?等特殊符号,可以使用encodeURIComponent(encodeURIComponent(中文)),服务器解码方法跟encodeURI的解码相同.

  • asp.net对URL含有中文参数的转换

    复制代码 代码如下: protected string UrlEncode(string url)         ...{             byte[] bs = Encoding.GetEncoding("GB2312").GetBytes(url);             StringBuilder sb = new StringBuilder();             for (int i = 0; i < bs.Length; i++)          

  • asp.net下URL处理两个小工具方法

    有的时候我们要操作一个URL地址中查询参数,为了不破坏URL的原有结构,我们一般不能直接在URL的后面加&query=value,特别是我们的URL中有多个参数时,这种处理更麻烦. 下面两个小方法就是专门用来为一个URL添加一个查询参数或删除一个查询参数,这两个方法隐藏了原URL有无参数,是不是原来就有这个参数,有没有fragment(#anchor)这些细节和处理 /**//// <summary> /// Add a query to an URL. /// if the URL 

  • 通过url方式传递中文乱码的解决方法

    例如: 通过url传递中文参数:xxx.do?name=名字&age=十八岁 解决办法: 1.在html页面,通过js的encodeURI方法对字符2次编码 encodeURI(encodeURI(jsonStr)); 2.在后台进行解码 java.net.URLDecoder.decode(jsonStr, "UTF-8");

  • Java中URL传中文时乱码的解决方法

    前言 Java中URL传中文时乱码的问题相信不少朋友都遇到过,最近就遇到一个问题,就是在Action当中把一条中文信息绑定在URL的后面,ActionForward到别一个页面时,用reqeust.getParameter取出是出现乱码的问题. 解决办法 1.对要进行URL传递的中文字符进行编码: String message = java.net.URLEncoder.encode("中文字符","utf-8"); 2.在取URL传递中文的页面对字符进行解码: S

  • javascript通过url向jsp页面传递中文参数导致乱码解决方案

    2013-1-16 10:35:49 org.apache.tomcat.util.http.Parameters processParameters 警告: Parameters: Character decoding failed. Parameter 'id' with value '%u8BA2%u5355' has been ignored. Note that the name and value quoted here may corrupted due to the failed

  • GET方法URL中传递中文参数乱码的解决方法

    1.在页面中对你的URL进行编码 使用------encodeURI(你要使用的中文参数值)如:...?username"+encodeURI("小甜甜") 2.在后台通过解码来接收该中文参数 使用----String name = new String(request.getParameter("username ").getBytes("iso8859-1"),"utf-8") 3.最好不要在URL中传递中文参数

随机推荐