一开始以为是cookie中文乱码的问题,后来跟踪发现,cookie的值压根就没赋值成功,网上查了资料,发现safari不允许非ASCII编码的值,换句话说:不允许中文存储。
为了解决这个问题,在设置cookie值的时候必须先编码,然后取值的时候再解码。
后端设置cookie用的asp.net,前端获取用的Javascript,他们的编码和解码能一致么?当前只能试一试了:
试了几种方法,发现用 HttpUtility.UrlEncode ()进行编码成功:
1 cookie = new HttpCookie( " rdname " ); 2 cookie.Value = HttpUtility.UrlEncode(user.RegisterDeptName); 3 cookie.Expires = System.DateTime.Now.AddDays( 30 ); 4 context.Response.Cookies.Set(cookie);
查看更多关于safaricookie设置中文失败的详细内容...
声明:本文来自网络,不代表【好得很程序员自学网】立场,转载请注明出处:http://haodehen.cn/did102027