问题如下:
当用户登录后,把用户名,密码等信息放在cookie里,可是在取时,英文用户的没问题,汉字有取不到,用如下判段:
if( !Object.Equals( MyContext.Request.Cookies["FUserName"],null ) )
{
Response.Write("<!--##11"+MyContext.Request.Cookies.Count+"11@@-->");
strUserID = MyContext.Request.Cookies["FUserName"].Value.ToString();
}
发现if里的语句执行,但输出的是空值以前这个是好用的,但上两天换了台服务器,汉字就不好用了,
1:程序这边的编码都是UTF-8
2:服务器上的语言区域设置也改成了china
3:另我做测试,在当前页(.aspx)下写入cookie,读取cookie时可以取到,但换一个页就取不到了
(以上现像都是只汉字而言)
望在这里能得到解决,
                                                         谢..

解决方案 »

  1.   

    换个编码试试,比如GB2312PS:编码时,除了注释,最好不要用中文
      

  2.   

    HttpContext.Current.Server.UrlEncode(cookieValue)
    HttpContext.Current.Server.UrlDecode(HttpContext.Current.Request.Cookies[name][key])
      

  3.   

    写入 cookie的时候
    使用 HttpUtility.UrlEncode(cookieValue); 读取的使用HttpUtility.UrlDecode(cookieValue);
      

  4.   

    你說的服务器上的语言区域设置也改成了china,是不是嚴格按照下面步驟設定?就沒有問題了。点击开始> 控制面版> 地区和语言选項>打开高级选项改变Unincode程序语言为"Chinese (PRC)" 简体中文,然后点OK确定。
      

  5.   

    解决了,感谢hertcloud(·£孙子兵法£·) 
    感谢大家
      

  6.   

    写入 cookie的时候
    使用 HttpUtility.UrlEncode(cookieValue); 读取的使用HttpUtility.UrlDecode(cookieValue);