自动识别判断url中的中文参数是GB2312还是Utf-8编码

来源:互联网 发布:淘宝用户信誉查询 编辑:程序博客网 时间:2024/05/21 10:21

先看下面两个Url,他们传递的参数一样么?
aaa.aspx?tag=.net%bc%bc%ca%f5
aaa.aspx?tag=.net%e6%8a%80%e6%9c%af

看起来好像是不一样,其实他们都是对".net技术"进行了UrlEncode,不过一个是GB2312的编码,一个是Utf-8的编码。
Response.Write(Request.QueryString["tag"]); 
可以得到Utf-8传过来的正确参数,而GB2312是错误的
可以用下面的得到GB2312的URL

string q = Request.Url.Query;
System.Collections.Specialized.NameValueCollection nv = 
System.Web.HttpUtility.ParseQueryString(q, System.Text.Encoding.GetEncoding("GB2312"));
Response.Write(nv["Tag"]);

原创粉丝点击