safari cookie设置中文失败的解决方法_IOS

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

一开始以为是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设置中文失败的解决方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索cookie
, safari
中文
safari cookie 中文、safari 清除cookie、safari开启cookie、safari cookie、safari cookie 丢失,以便于您获取更多的相关知识。

时间: 2024-09-20 05:41:22

safari cookie设置中文失败的解决方法_IOS的相关文章

iOS读取txt文件出现中文乱码的解决方法_IOS

一.情景描述:  后台给一个txt文件,编码是utf-8,在Mac电脑Xcode开发环境下读取txt文件内容,汉字会出现乱码,英文没有乱码这种情况.  二.尝试解决方法: 修改编码格式,尝试了NSUTF16StringEncoding,NSUTF8StringEncoding,NSASCIIStringEncoding编码等,出现的问题有时是中文乱码,有时是utf-8不能打开文件问题,最终问题都没能解决.  三.猜测原因: txt文件是从window电脑上创建,有可能和环境有关,第二,编码问题.

Unity3d发布IOS9应用时出现中文乱码的解决方法_IOS

简单的说,解决方法就是批量修改NGUI的label字体,修复ios就删除arial引起的中文乱码 我们来看具体如何操作 static public void yaheifont() { uf = AssetDatabase.LoadAssetAtPath("Assets/yahei.prefab",typeof( UIFont)) as UIFont; UnityEngine.Object[] objs = Selection.GetFiltered (typeof(UnityEngi

JavaScript使用focus()设置焦点失败的解决方法_javascript技巧

昨天修改机顶盒上面的EPG页面,遇到一个小问题.用户购买游戏时需要弹出购买确认对话框,对话框的默认焦点规定必须停留在"取消"按键上.很简单的需求,使用JavaScript的focus()方法就可以实现了.简单的代码示例如下: document.getElementById("cancel").focus() 但是苦逼的是,机顶盒真是一个大坑.由于要兼容所有现存的机顶盒型号,需要对8款机顶盒进行适配.然后就出现问题了!一款中兴B600的机顶盒完全没法将焦点设置到取消按

安装oracle11g INS-30131执行安装程序验证所需的初始设置失败的解决方法_oracle

安装oracle11g [INS-30131] 执行安装程序验证所需的初始设置失败. 解决方法 第一步:控制面板>所有控制面板项>管理工具>服务>SERVER 启动 TCP/IP 启动 第二步: 1.点击 开始->运行 ,输入regedit ,然后回车键进入注册编辑器 2.找到并点击HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\LanmanServer\Parameters 3.如果AutoShareServer和A

实例讲解MySQL数据库中文问题的解决方法

MySQL数据库中文问题的解决方法: 1.my.ini MySQL配置文件设置 [client] default-character-set=gbk [mysqld] default-character-set=gbk 2.启动MySQL服务创建你的数据库 3.验证当前编码 命令行输入: mysql -u root -p 登录你建立的数据库 >connect yourdatabasename 输入数据库状态命令 >status 假如结果如下: Server characterset: gbk

windows7操作系统启动ISC服务失败的解决方法

  windows7操作系统启动ISC服务失败的解决方法            具体解决方法: 1.首先打开Win7系统的运行对话框,然后输入services.msc,回车打开服务; 2.然后找到并将"Network Connections"设置为"手动"并启动; 3.然后再将"Windows Firewall/Internet Connection Sharing (ICS)"服务启用就可以了.

java表单提交中文乱码的解决方法_java

本文实例为大家分享了java表单提交中文乱码的解决方法,供大家参考,具体内容如下 主页index.xml <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <html> <head> <title>servlet演示</title> </head> <body> <h2&

Servlet的中文乱码常用解决方法

Servlet的中文乱码常用解决方法 在servlet页面就出错了,打印出就是乱码,why? public class toDetail extends HttpServlet {  public void doGet(HttpServletRequest request, HttpServletResponse response)    throws ServletException, IOException {   response.setContentType("text/html&quo

使用Wordpress插件时出现中文乱码的解决方法

中介交易 http://www.aliyun.com/zixun/aggregation/6858.html">SEO诊断 淘宝客 云主机 技术大厅 用wordpress建网站的好处就在于,可以使用N多主题和N多的插件,由于wordpress在国外的使用时期较长,很多插件都是国外的用户开发的.对于中文的支持不是很好.经常使用WP一定会遇到插件编码问题,今天影子给大家讲一下关于使用wordpress插件时出现中文乱码的解决方法. 一.起因: 今天就遇到一个插件,输入中文后,保存,查看,显示输