如何自动识别判断url中的中文参数是GB2312还是Utf-8编码?
先看下面两个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"]);
问:
如何自动识别判断url是GB2312还是Utf-8编码?这个需求是因为从百度来的很多URL的中文参数都是GB2312的