在asp.net中解决cookies中文乱码问题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在asp.net中解决cookies中文乱码问题相关的知识,希望对你有一定的参考价值。

在设置cookie时,如果存入cookie中的内容为中文,则读取后变成乱码,英文或者数字不存在这种问题。解决办法是不直接存取,而是采用编码的方法进行存取。

1、设置cookie

public void setCookies()
{
HttpCookie ck = new HttpCookie("ckLogin");
ck.Values.Add("cID", HttpUtility.UrlEncode(UserID));
ck.Values.Add("cPWD", HttpUtility.UrlEncode(UserPWD));
ck.Values.Add("cAutoLogin", HttpUtility.UrlEncode(AutoLogin.ToString()));
HttpContext.Current.Response.Cookies.Add(ck);
}

2、读取cookie

public void ReadCookies()
{
HttpCookie ck = HttpContext.Current.Request.Cookies["ckLogin"];
UserID = HttpUtility.UrlDecode(ck["cID"]);
UserPWD = HttpUtility.UrlDecode(ck["cPWD"]);
AutoLogin = Boolean.Parse(HttpUtility.UrlDecode(ck["cAutoLogin"]));

}

以上是关于在asp.net中解决cookies中文乱码问题的主要内容,如果未能解决你的问题,请参考以下文章

IIS部署后中文Cookie乱码

j-query 中文乱码处理 单词 escape 及其他的中文乱码处理

解决ASP.NET中的各种乱码问题

asp用urlEncode加密后的中文用asp.net UrlDecode解密会出现乱码,请问怎么解决

asp.net中下拉框二级联动,第二个下拉框出现乱码的问题

asp.net 后台 Request.Params时遇到前台发送的中文字符 , 得到乱码怎么解决?