C# URL带中文参数的解决办法

   public static string InitChineseUrl(string chineseUrl) 
        { 
            Uri url = new Uri(chineseUrl); 
            System.Collections.Specialized.NameValueCollection nv = System.Web.HttpUtility.ParseQueryString(url.Query, System.Text.Encoding.GetEncoding("utf-8")); 
            string query = ""; 
            for (int i = 0; i < nv.Count; i++) 
            { 
                if (query.Trim() == string.Empty) 
                { 
                    query = "?" + nv.Keys[i] + "=" + HttpUtility.UrlEncode(nv[i], System.Text.Encoding.GetEncoding("GB2312")); 
                } 
                else 
                { 
                    query += "&" + nv.Keys[i] + "=" + HttpUtility.UrlEncode(nv[i], System.Text.Encoding.GetEncoding("GB2312")); 
                } 
            } 
            string u = chineseUrl.Split('?')[0] + query; 
            return u; 
        } 

时间: 2025-01-24 07:12:49

C# URL带中文参数的解决办法的相关文章

Js Url传中文参数乱码解决办法

解决方法如下:   1.在JS里对中文参数进行两次转码  代码如下 复制代码 var login_name = document.getElementById("loginname").value; login_name = encodeURI(login_name); login_name = encodeURI(login_name); 2.在服务器端对参数进行解码  代码如下 复制代码 String loginName = ParamUtil.getString(request,

url带中文参数显示乱码的问题

最近要上个项目,其实很简单的东西,就是拼接一个url,不过url中的参数需要UrlEncode编码的,其实对我来说,这个问题很好解决,C#用HttpUtility.UrlEncode来进行编码,asp用Server.UrlEncode来进行编码. 问题解决了吗?问题刚刚开始 因为这个公用转向文件,是针对所有分站的,分站代码有.net和asp两种,文件编码格式也不一样. 头大的事情开始了.asp站的文件编码是gb2312,虽然.net的文件格式也是gb2312,但因为webconfig里设置的re

ajax如何传中文参数乱码解决办法

传递中文参数,然后修改数据库教程的.  代码如下 复制代码 <script> var url="admin/ajaxmodify.php?"+key+"=";  url+=encodeuricomponent(encodeuricomponent(value));   xmlhttp.open("get",url,true);   xmlhttp.send(null); </script> 参数是中文encodeurico

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

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

asp.net 地址栏url传中文乱码 的解决方法

1.设置web.config文件.   <system.web>    ......    <globalization requestEncoding="gb2312" responseEncoding="gb2312" culture="zh-CN" fileEncoding="gb2312" />    ......    </system.web>   或者: aspx文件中: &l

PHP读取mssql json数据中文乱码的解决办法_php实例

PHP及网页使用UTF-8编码,数据库是sql server2008,使用默认编码(936,即GBK编码) 当读取数据库数据时,使用php自带的json_encode()返回到前端,结果中文不显示. 解决办法如下: 这样,sql server 2008中的中文就可以在网页正常显示了. 如果要将中文正常插入到sql server 2008中,还要加入一条代码:$query = iconv("utf-8", "gbk//ignore", $query);//为了解决中文

Ajax跨域请求COOKIE无法带上的完美解决办法

1.原生ajax请求方式: 1 var xhr = new XMLHttpRequest(); 2 xhr.open("POST", "http://xxxx.com/demo/b/index.php", true); 3 xhr.withCredentials = true; //支持跨域发送cookies 4 xhr.send(); 2.jquery的ajax的post方法请求: $.ajax({ type: "POST", url: &qu

php中json_encode中文字符乱码解决办法

一.json_encode() 这个是一个对变量进行 JSON 编码常用的函数,但是当文本的格式不是utf-8时,中文的转码会出现一些问题,比如文本为gb2312的时候 示例  代码如下 复制代码 <?php $jsonText = array (  0 => array (   'id' => '1',   'name' => '文本1'  ),  1 => array (   'id' => '2',   'name' => '文本2'   ) ) ;   e

英文的服务器不支持中文及中文数据库的解决办法

英文的服务器不支持中文及中文数据库的解决办法 方法一: 在翻阅了微软NGWS文档后发现在文档的常见问题部分有提到要添加一个config.web文件到 web目录下,试了一下,中文显示果然OK了. 方法如下: 建立一个文件config.web,内容如下,放在WEB目录下 <configuration> <globalization requestencoding="utf-8" responseencoding="utf-8" /> </