在asp.net中直接在地址栏输入中文 后 乱码
发布网友
发布时间:2022-04-27 13:07
我来回答
共3个回答
热心网友
时间:2022-04-27 14:36
那个不是乱码,是中文在unicode中的编码想取到正常的,还需要自己去反编码才能得到
热心网友
时间:2022-04-27 15:54
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;
}
详细出处参考: http://www.jb51.net/article/22437.htm
热心网友
时间:2022-04-27 17:29
在web.config 中<globalization requestEncoding="GBK" responseEncoding="GBK"/> 就可以了.