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

赶快上路吧,不要有一天我们在对方的葬礼上说,要是当时去了就好了。
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

本文asp.net Cookie值中文乱码问题解决方法到此结束。这一路你可以哭,但一定不能怂小编再次感谢大家对我们的支持!

您可能有感兴趣的文章
ASP.NET中Response.BufferOutput属性的使用技巧

ASP.NET轻量级MVC框架Nancy的基本用法

使用grpcui测试ASP.NET core的gRPC服务

ASP.NET Core中的对象池介绍

.NET集成ORM框架HiSql