safari打不开cookies_safari cookie设置中文失败的解决方法

释放双眼,带上耳机,听听看~!

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设置中文失败的解决方法,技术狗小编认为这是很不错的内容,希望大家都能支持我们吧!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值