Asp.net 2.0 中cookie值为中文时导致的Cookie 值丢失问题和乱码问题的解决

    今天遇到Cookie 中存储的值总丢失,难道Cookie对存储的个数有限制?查看文档,没有发现类似说法,分成两个Cookie存储,依然有问题,终于悟到到可能时中文的问题(见笑了),解决办法:

存储时:

Code
cookie.Values.Add(TRUENAME, HttpUtility.UrlEncode(trueName));
cookie.Values.Add(
"NoUser","");
cookie.Expires
= DateTime.MaxValue;
cookie.Values.Add(USERNAME, username);
cookie.Values.Add(PASSWORD, password);

 

读取时:

 

Code
if (mCookie != null)
{
a
= HttpUtility.UrlDecode(mCookie[TRUENAME]);
builder.AppendFormat(String.Format(
" 当前登录用户:{0}", a));
}

 

这样就解决了乱码的问题。

值丢失时由于中文值和随后存储的值用?连接起来变成了一个值的。

 

posted @ 2008-10-15 11:51  winzheng  阅读(862)  评论(1编辑  收藏  举报