safari cookie设置中文失败的解决方法
最近用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设置中文失败的解决方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。
相关推荐
-
safari cookie设置中文失败的解决方法
最近用H5进行手机端开发,由于是window操作系统,为了方便开发和调试,直接在chrome浏览器上进行测试,然后在android机上进行手机端测试,当功能基本完工后,原来在android上运行正常的应用,在IOS上运行时,出现很多奇怪的问题,根据排查,发现是由于cookie未取到值而导致相关信息无法获取. 一开始以为是cookie中文乱码的问题,后来跟踪发现,cookie的值压根就没赋值成功,网上查了资料,发现safari不允许非ASCII编码的值,换句话说:不允许中文存储. 为了解决这个问题
-
python logging设置level失败的解决方法
一.问题描述 在用python开发时经常用到logging这个包,根据官方示例,如果要指定日志级别可以写成如下的方式. import logging logging.basicConfig(level=logging.INFO) 但是在实际应用中,这种方式有时候会设置不成功,导致无法打印出info及以下级别的日志.一种最直接的解决方式是将这两行代码提到文件的最前面,保证在所有其他import语句之前. 示例如下. # encoding=utf8 import logging logging.ba
-
JavaScript使用focus()设置焦点失败的解决方法
昨天修改机顶盒上面的EPG页面,遇到一个小问题.用户购买游戏时需要弹出购买确认对话框,对话框的默认焦点规定必须停留在"取消"按键上.很简单的需求,使用JavaScript的focus()方法就可以实现了.简单的代码示例如下: document.getElementById("cancel").focus() 但是苦逼的是,机顶盒真是一个大坑.由于要兼容所有现存的机顶盒型号,需要对8款机顶盒进行适配.然后就出现问题了!一款中兴B600的机顶盒完全没法将焦点设置到取消按
-
安装oracle11g INS-30131执行安装程序验证所需的初始设置失败的解决方法
安装oracle11g [INS-30131] 执行安装程序验证所需的初始设置失败. 解决方法 第一步: 控制面板>所有控制面板项>管理工具>服务>SERVER 启动 TCP/IP 启动 第二步: 1.点击 开始->运行 ,输入regedit ,然后回车键进入注册编辑器 2.找到并点击HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\LanmanServer\Parameters 3.如果AutoShareServer和
-
php出现web系统多域名登录失败的解决方法
本文实例讲述了php出现web系统多域名登录失败的解决方法,分享给大家供大家参考.具体分析如下: 下面只是简单的逻辑结构,对于正式的系统需要做具体的处理. 这里需要注意的是:加解密一定需要做安全验证.但是这个方法也不够完美,两个站点必须有相同一级域名:另外这种完全基于cookie的方式,安全性不够高 function login() { $info = callloginserver(); //访问登录服务器 if(!empty($info)) //登录成功了 } //用户没有登录,则在本系统中
-
php中mail函数发送邮件失败的解决方法
本文实例讲述了php中mail函数发送邮件失败的解决方法.分享给大家供大家参考.具体分析如下: php中mail函数是一个自带的发邮件的函数,但是如果你真的要使用mail函数来发邮件那必须是要给你系统安装sendmail组件才可以,下面我就碰到mail发送不了邮件的问题,下面一起来看看解决办法吧. 之前的那台服务器转移过来后,发现网站用mail()发送邮件发不了,但是发现sendmail明明已经安装,如果没有安装sendmail可以执行,代码如下: 复制代码 代码如下: yum install
-
java表单提交中文乱码的解决方法
本文实例为大家分享了java表单提交中文乱码的解决方法,供大家参考,具体内容如下 主页index.xml <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <html> <head> <title>servlet演示</title> </head> <body> <h2&
-
Python使用matplotlib绘图无法显示中文问题的解决方法
本文实例讲述了Python使用matplotlib绘图无法显示中文问题的解决方法.分享给大家供大家参考,具体如下: 在python中,默认情况下是无法显示中文的,如下代码: import matplotlib.pyplot as plt # 定义文本框和箭头格式 decisionNode = dict(boxstyle = "sawtooth", fc = "0.8") leafNode = dict(boxstyle = "round4", f
-
Linux程序运行时加载动态库失败的解决方法
Linux下不能加载动态库问题 当出现下边异常情况 ./test: error while loading shared libraries: libmfs_open.so: cannot open shared object file: No such file or directory 若动态库的路径在(/usr/cluster/.share/lib) 解决办法: 方法一.在/etc/ld.so.conf文件中添加路径,vi /etc/ld.so.conf 添加下边内容 include ld
-
Python中pyecharts安装及安装失败的解决方法
pyecharts 是一个用于生成 Echarts 图表的类库.Echarts 是百度开源的一个数据可视化 JS 库.这篇文章重点给大家介绍pyecharts安装失败的处理方法,具体详情如下: pyecharts库的安装 1.正常安装 首先在打开终端输入以下命令:pip install pyecharts 在终端输入pip list查看是否安装成功测试程序: from pyecharts.charts import Bar bar = Bar() bar.add_xaxis(["衬衫"
随机推荐
- MySQL无法创建外键的原因及解决方法
- 利用iframe实现ajax跨域通信的实现原理(图解)
- AngularJS使用ng-repeat指令实现下拉框
- java正则表达式四种常用的处理方式(匹配、分割、替代、获取)
- xampp安装后apache 80端口被占用的解决方法
- springmvc利用jquery.form插件异步上传文件示例
- iOS 图片裁剪 + 旋转
- 让ie6也支持websocket采用flash封装实现
- php中in_array函数用法分析
- zend framework中使用memcache的方法
- python修改操作系统时间的方法
- CentOS7 安装docker 解决启动不了的问题
- PHP中Fatal error session_start()错误解决步骤
- Android编程实现自定义title功能示例
- FLEX 事件机制-自定义事件介绍
- Ajax通过XML异步提交的方法实现从数据库获取省份和城市信息实现二级联动(xml方法)
- SQL Server误区30日谈 第10天 数据库镜像在故障发生后 马上就能发现
- MySQL学习第二天 安装和配置mysql winx64
- Iframe实现跨浏览器自适应高度解决方法
- 浅谈jquery中使用canvas的问题
