下面是写入cookie的代码
HttpCookie cookie = new HttpCookie("username");
cookie.Value = "张三,14,images/1.jpg";
cookie.Expires = DateTime.Now.AddDays(1);
Response.Cookies.Add(cookie);
下面是读取cookie的代码
if (Request.Cookies["username"]!=null)
{
string username = Request.Cookies["username"].Value;
Response.Write(username);
}
有时读取出来的cookie值中的中文部分可能是乱码,不管是有什么导致的,我们都可以通过编码进行解决
更改上面写入cookie的代码
HttpCookie cookie = new HttpCookie("username");
cookie.Value = HttpUtility.UrlEncode("张三,14,images/1.jpg",Encoding.GetEncoding("UTF=8"));
cookie.Expires = DateTime.Now.AddDays(1);
Response.Cookies.Add(cookie);
更改上面读取cookie的代码
if (Request.Cookies["username"]!=null)
{
string username =HttpUtility.UrlDecode(Request.Cookies["username"].Value,Encoding.GetEncoding("UTF-8"));
Response.Write(username);
}
本文介绍如何在ASP.NET应用程序中使用正确的编码方式来设置和读取包含中文的Cookie值,避免出现乱码问题。文章提供了具体的代码示例,包括如何使用HttpUtility.UrlEncode和HttpUtility.UrlDecode方法配合UTF-8编码。
590

被折叠的 条评论
为什么被折叠?



