url传递中文的解决方案
本文转载:http://www.cnblogs.com/ghd258/archive/2005/10/23/260241.html
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 文件好象无效。 在html中实现编解码: <script language="javascript"> function openUrl(src) { var strUrl=escape(src); window.open(strUrl); } function change_url(src) { document.location.href=escape(src); } </script> 在新窗口保存 <a href='javascript:openUrl("css/20040603123628交易中心烟叶网上集中交易系统合同.doc");' >20040603123628交易中心网上集中交易系统合同</a> 当前位置保存,无闪烁。 <a href="#" onclick=javascript:change_url("css/20040603123628交易中心烟叶网上集中交易系统合同.doc")>20040603123628交易中心网上集中交易系统合同</a> 注意:路径中的斜线是:“/”,而不是“\”,否则也不行啊。
作者:阿笨
【官方QQ一群:跟着阿笨一起玩NET(已满)】:422315558
【官方QQ二群:跟着阿笨一起玩C#(已满)】:574187616
【官方QQ三群:跟着阿笨一起玩ASP.NET(已满)】:967920586
【官方QQ四群:Asp.Net Core跨平台技术开发(可加入)】:829227829
【官方QQ五群:.NET Core跨平台开发技术(可加入)】:647639415
【网易云课堂】:https://study.163.com/provider/2544628/index.htm?share=2&shareId=2544628
【腾讯课堂】:https://abennet.ke.qq.com
【51CTO学院】:https://edu.51cto.com/sd/66c64
【微信公众号】:微信搜索:跟着阿笨一起玩NET