URL传递中文:Server.UrlEncode与Server.UrlDecode

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 转换)。一样要将传递的中文参数进行编码,在接收时再进行解码。

js中:

 escape() 函数可对字符串进行编码,这样就可以在所有的计算机上读取该字符串可以使用 unescape() 对 escape() 编码的字符串进行解码。

>> 进行传递  <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 文件好象无效。

注:本文转载于:http://blog.csdn.net/ypzgq/article/details/6254025

时间: 2024-08-07 23:26:53

URL传递中文:Server.UrlEncode与Server.UrlDecode的相关文章

Server.UrlEncode、HttpUtility.UrlDecode的区别

在对URL进行编码时,该用哪一个?这两都使用上有什么区别吗?测试:string file="文件上(传)篇.doc";string Server_UrlEncode=Server.UrlEncode(file);string Server_UrlDecode=Server.UrlDecode(Server_UrlEncode);string HttpUtility_UrlEncode=System.Web.HttpUtility.UrlEncode(file);string HttpU

URL传递中文参数,大坑一枚,Windows与Linux效果竟然不一致

下午,计划2个小时搞定,个人官网第6次升级,就可以干点轻松的事了,结果,下午多搞了2个小时,晚上又搞了2个小时,才搞定. 最后一个世界难题是,URL传递中文参数. 问题大致是这么出现的:我为"博客雷观" 这个栏目,增加了"全文搜索"功能,用lucene实现的.因此,需要传递中文参数.搜索框表单提交,传递中文,很简单就搞定了. 搜索之后的分页url,需要带上当前的"搜索词" ,比如"程序员",我在本地很轻松就搞定了.无非就是这样

url 传递中文参数乱码问题的终极解决方法。

估计很多人在做web开发的时候,都会碰到过url传递中文参数,有时候会出现乱码的问题,但有些项目或者环境,又不会有问题.当遇到乱码的时候,上网找了很多解决方案,比如: 页面设置它的编码方式,改成utf-8 或者gb2312. encodeURI(url),也有人说要2个encodeURI,如:window.location.href = encodeURI('b.html?cId='+id+"&cName="+encodeURIComponent(name)); 然后后台Str

关于JAVA中URL传递中文参数的问题

今天在调用一个接口时,需要传递一个中文参数,结果获取不到数据,原因就在于中文传参的编码问题. 问题来源:URL url= new URL("http://XXX?OrganName=司法厅"); 现解决办法如下: 1.对要进行URL传递的中文字符进行编码: String message = Java.NET.URLEncoder.encode("司法厅","utf-8"); 2.在取URL传递中文的页面对字符进行解码: String msg =

JS URL传递中文参数时出现乱码的处理

原文:JS URL传递中文参数时出现乱码的处理 在浏览器中显示的地址是这样的: 但是按F12调试的时候的地址却变化掉了: 这个肯定是是因为浏览器对url路径默认编码了.这个问题是在我们去取值的时候,得到的就是后面那一大串稀奇古怪的东西.得不到我们想要的值.怎么办呢?这里写出来的只是自己的解决方法,也许不能通用,跟大家分享下,有更好的方法,告我一声.      //得到url中的值 function request(paras){ var url = location.href; var para

Server.UrlEncode与Server.UrlDecode(url传递中文的解决方案)

1.设置web.config文件.<system.web> ...... <globalization requestEncoding="gb2312" responseEncoding="gb2312" culture="zh-CN" fileEncoding="gb2312" /> ...... </system.web> 2.传递中文之前,将要传递的中文参数进行编码,在接收时再进行解码

ASP.NET - 对URL传递的值进行编码Server.UrlEncode()

/// <summary> /// 搜索内容 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> protected void btnSearch_Click(object sender, EventArgs e) { string key = txtSearch.Text.Trim(); s

实现Server.UrlEncode和Server.UrlDecode功能的js代码

<script> var EncodeURI = function(unzipStr,isCusEncode){    if(isCusEncode){        var zipArray = new Array();        var zipstr = "";        var lens = new Array();        for(var i=0;i<unzipStr.length;i++){         var ac = unzipStr.

jsp中URL传递中文參数的处理

在页面的url中使用encodeURI(encodeURI(中文)).对中文进行编码.并在server的java程序中使用URLDecoder.decode(中文, "UTF-8")进行解码就可以; 假设url中须要传递+.#.?等特殊符号.能够使用encodeURIComponent(encodeURIComponent(中文)),server解码方法跟encodeURI的解码同样.