IOS中safari cookie设置中文失败的解决方法,大家了解吗?当我们在IOS开发这个功能的时候,也许会遇到很多的问题,今天就跟着武林技术频道小编的步伐来了解吧!
一开始以为是cookie中文乱码的问题,后来跟踪发现,cookie的值压根就没赋值成功,网上查了资料,发现safari不允许非ASCII编码的值,换句话说:不允许中文存储。
为了解决这个问题,在设置cookie值的时候必须先编码,然后取值的时候再解码。
后端设置cookie用的asp.net,前端获取用的Javascript,他们的编码和解码能一致么?当前只能试一试了:
试了几种方法,发现用HttpUtility.UrlEncode()进行编码成功:
cookie = new HttpCookie("rdname"); cookie.Value = HttpUtility.UrlEncode(user.RegisterDeptName); cookie.Expires = System.DateTime.Now.AddDays(30); context.Response.Cookies.Set(cookie);
客户端Javascript解码为:
var deptName = cookie('rdname'); deptName= decodeURIComponent(deptName); $("#pickerlb").val(deptName);
也就是说:Javascript中的decodeURIComponent()和C#的HttpUtility.UrlEncode()是配对的。
看过了武林技术频道小编介绍的safari cookie设置中文失败的解决方法,武林技术频道小编认为这是很不错的内容,希望大家都能支持我们吧!
新闻热点
疑难解答