Cookie 为乱码的问题。

wanbotang 2010-05-12 11:44:55
代码如下:
写入:
HttpCookie userCookie = Request.Cookies.Get("userSettings");
if (userCookie == null)
userCookie = new HttpCookie("userSettings");
userCookie.Values["userID"] = userID;
userCookie.Values["userName"] = userName;
userCookie.Values["department"] = department;
Response.Cookies.Add(userCookie);
获取:
HttpCookie userCookie = Request.Cookies.Get("userSettings");
Label1.Text = userCookie["userName"].ToString();

问题1:
如果值包含中文,就会是乱码,要如何获取?
问题2:
这个 Cookie 何时过期,我想让用户关闭浏览器窗口就过期,要如何更改代码。
...全文
61 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
wanbotang 2010-05-12
  • 打赏
  • 举报
回复
问题已解决,谢谢。
wosizy 2010-05-12
  • 打赏
  • 举报
回复
读取值是乱码其实这是因为文字编码而造成的,汉字是两个编码,所以才会搞出这么个乱码出来

只要在写入Cookie时,先将其用Url编码,然后再写入,然后读取时再解码就OK了
例子:

Cookie的写入:
1HttpCookie cookie=new HttpCookie("Simple");
2cookie.Values.Add("Simple1",HttpUtility.UrlEncode("大叔,你好!"));
3cookie.Values.Add("Simple2","English is OK!Nothing we should do!");
4Response.AppendCookie(cookie);
Cookie的读取:
1HttpCookie cookie=Request.Cookies["Simple"];
2string simple1=HttpUtility.UrlDecode(cookie["Simple1"]);
3string simple2=cookie["Simple2"]; 这样simple1="大叔,你好!";simple2="English is OK!Nothing we should do!";
myhope88 2010-05-12
  • 打赏
  • 举报
回复
编码,解码一下
皇城龙三 2010-05-12
  • 打赏
  • 举报
回复
http://m.cnblogs.com/18800/1442349.html

Asp.Net里Cookies的中文乱码问题
ck11926375 2010-05-12
  • 打赏
  • 举报
回复
写cookie, HttpUtility.UrlEncode()
读cookie, HttpUtility.UrlDecode()
ck11926375 2010-05-12
  • 打赏
  • 举报
回复
不设置Cookie过期时间 默认就会在关闭浏览器过期

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧