解决C# cookie的中文乱码问题

下面是写入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);
            }

小白爱记录 排错不迷路

猜你喜欢

转载自blog.csdn.net/weixin_44517477/article/details/105363381