地址传中文,转码
http://community.youkuaiyun.com/Expert/topic/4541/4541877.xml?temp=.5768854 1.设置web.config文件。 <system.web> ...... <globalization requestEncoding= "gb2312 " responseEncoding= "gb2312 " culture= "zh-CN " fileEncoding= "gb2312 " /> ...... </system.web> 或者: aspx文件中: <meta http-equiv= "Content-Type " content= "text/html; charset=gb2312 "> 2.传递中文之前,将要传递的中文参数进行编码,在接收时再进行解码。 > > 进行传递 string Name = "中文参数 "; Response.Redirect( "B.aspx?Name= "+Server.UrlEncode(Name)); > > 进行接收 string Name = Request.QueryString[ "Name "]; Response.Write(Server.UrlDecode(Name)); 或者: NavigateURL= ' <%# "WebForm2.aspx?Singer= " + HttpUtility.UrlEncode( "中国人 ", System.Text.Encoding.GetEncoding( "GB2312 ")) %> '
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/合同.doc "); ' > 交合同 </a> 当前位置保存,无闪烁。 <a href= "# " onclick=BLOCKED SCRIPTchange_url( "css/合同.doc ")> 合同 </a> 注意:路径中的斜线是:“/”,而不是“\”,否则也不行啊。
|
|
转载于:https://www.cnblogs.com/oshoh/p/6971007.html