好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

safaricookie设置中文失败

最近用H5进行手机端开发,由于是window操作系统,为了方便开发和调试,直接在chrome浏览器上进行测试,然后在android机上进行手机端测试,当功能基本完工后,原来在android上运行正常的应用,在IOS上运行时,出现很多奇怪的问题,根据排查,发现是由于cookie未取到值而导致相关信息无法获取。

  一开始以为是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设置中文失败的详细内容...

  阅读:33次