asp.net Cookie值中文乱码问题解决方法

时间:2022-01-18 17:50:55

cookie里面不能写中文,是由于cookie先天的编码方式造成的。所以需要有一种中间编码来过渡。 URLEncode是最好的选择。 

我们以asp.net为例,代码如下: 
设置Cookie时: 

复制代码代码如下:


HttpCookie cookie = new HttpCookie("name", System.Web.HttpContext.Current.Server.UrlEncode("服务器之家")); 
Response.Cookies.Add(cookie);读取Cookie时: 
if (Request.Cookies["name"] != null) 

Response.Write(System.Web.HttpContext.Current.Server.UrlDecode(Request.Cookies["name"].Value)); 


注意:编码和解码要一致 

复制代码代码如下:


System.Web.HttpContext.Current.Server.UrlDecode 和 System.Web.HttpContext.Current.Server.UrlEncode 
System.Web.HttpUtility.UrlDecode 和 System.Web.HttpUtility.UrlEncode