中文乱码是由于,发送和接收方使用的编码解码格式不一致导致,以下是关于url传参解决中文乱码的一种方法,最后根据各种编码格式尝试解码,发现正确的解码格式
string strQueryString = Request.ServerVariables["query_string"];//原始字符串未经编码 url中?后信息
string[] array = strQueryString.Split('&');
string strKeyValue = string.Empty;
string strKey = string.Empty;
string strValue = string.Empty;
Dictionary<string, string> dic = new Dictionary<string, string>();
for (int i = 0; i < array.Length; ++i)
{
strKeyValue = array[i];
string[] array2 = strKeyValue.Split('=');
dic.Add(array2[0], array2[1]);
}
string str1 = HttpUtility.UrlDecode(dic["ProcessName"], System.Text.Encoding.GetEncoding("GB2312"));//尝试GB2312解码
string str2 = HttpUtility.UrlDecode(dic["ProcessName"], System.Text.Encoding.GetEncoding("utf-8"));//尝试utf-8解码