日期:2014-05-17  浏览次数:20469 次

Url传参后台接收乱码问题
像这样的 Url传值 :http://www.showm.com/MobileThemeCenter.aspx?UserName=狐狼&Password=123456

MobileThemeCenter.aspx.cs 接收: string user = Request.QueryString["UserName"].ToString();
  string pwd = Request.QueryString["Password"].ToString();


已经用过挺多方法的 但没什么效果 希望大神们用过的切实可行的办法给我一个、不要复制网上的一些办法,不要用修改Web.cpnfig 那样会造成其他地方出现问题 还有MobileThemeCenter.aspx这个界面上是不要有任何标签的 在线等候啊!

------解决方案--------------------
<a href="#" onclick="javascript:location='WebForm1.aspx?id='+escape('中文')">js加码_16进制</a>
<a href="#" onclick="javascript:location='WebForm1.aspx?id='+encodeURI('湖北')">js加码_UTF-8</a>
------解决方案--------------------
#region ========加密======== 
 
/// <summary>
/// 加密
/// </summary>
/// <param name="Text"></param>
/// <returns></returns>
public static string Encrypt(string Text) 
{
return Encrypt(Text,"MATICSOFT");
}
/// <summary> 
/// 加密数据 
/// </summary> 
/// <param name="Text"></param> 
/// <param name="sKey"></param> 
/// <returns></returns> 
public static string Encrypt(string Text,string sKey) 

DESCryptoServiceProvider des = new DESCryptoServiceProvider(); 
byte[] inputByteArray; 
inputByteArray=Encoding.Default.GetBytes(Text); 
des.Key = ASCIIEncoding.ASCII.GetBytes(System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(sKey, "md5").Substring(0, 8)); 
des.IV = ASCIIEncoding.ASCII.GetBytes(System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(sKey, "md5").Substring(0, 8)); 
System.IO.MemoryStream ms=new System.IO.MemoryStream(); 
CryptoStream cs=new CryptoStream(ms,des.CreateEncryptor(),CryptoStreamMode.Write); 
cs.Write(inputByteArray,0,inputByteArray.Length); 
cs.FlushFinalBlock(); 
StringBuilder ret=new StringBuilder(); 
foreach( byte b in ms.ToArray()) 

ret.AppendFormat("{0:X2}",b); 

return ret.ToString(); 


#endregion

#region ========解密======== 
 
 
/// <summary>
/// 解密
/// </summary>
/// <param name="Text"></param>
/// <returns></returns>
public static string Decrypt(string Text) 
{
return Decrypt(Text,"MATICSOFT");
}
/// <summary> 
/// 解密数据 
/// </summary> 
/// <param name="Text"></param> 
/// <param name="sKey"></param> 
/// <returns></returns> 
public static string Decrypt(string Text,string sKey) 

DESCryptoServiceProvider des = new DESCryptoServiceProvider(); 
int len; 
len=Text.Length/2; 
byte[] inputByteArray = new byte[len]; 
int x,i; 
for(x=0;x<len;x++) 

i = Convert.ToInt32(Text.Substring(x * 2, 2), 16); 
inputByteArray[x]=(byte)i; 

des.Key = ASCIIEncoding.ASCII.GetBytes(System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(sKey, "md5").Substring(0, 8)); 
des.IV =