永发信息网

在asp.net中直接在地址栏输入中文 后 乱码

答案:3  悬赏:70  手机版
解决时间 2021-05-24 12:05
  • 提问者网友:温旧梦泪无声
  • 2021-05-24 00:34

在地址栏直接输入中文,就乱码

最佳答案
  • 五星知识达人网友:琴狂剑也妄
  • 2021-05-24 01:23
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
全部回答
  • 1楼网友:妄饮晩冬酒
  • 2021-05-24 02:47

在web.config 中<globalization requestEncoding="GBK" responseEncoding="GBK"/> 就可以了.

  • 2楼网友:独钓一江月
  • 2021-05-24 02:37

那个不是乱码,是中文在unicode中的编码

想取到正常的,还需要自己去反编码才能得到

我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯