在ASP.Net中,Request.QueryString是System.Collections.Specialized.NameValueCollection类型,默认它是经过UTF-8解码的。
如果你的url中的参数用的是GBK编码,将会在QueryString中得到一串乱码。
怎么办?自己读原始的Query然后去解析?
不用那么复杂,Framework已经帮你做好了处理的方法:
string query = this.Request.Url.Query;
System.Collections.Specialized.NameValueCollection queryString = System.Web.HttpUtility.ParseQueryString(query, System.Text.Encoding.GetEncoding("GBK"));
这样queryString 这个集合中就是经过GBK解码的字符了。
时间: 2024-10-07 20:22:48