JavaScript读取中文cookie时的乱码问题的解决方法


Posted in Javascript onOctober 14, 2009
function Get_Cookie(name) { 
var start = document.cookie.indexOf(name+…=…); 
var len = start+name.length+1; 
if ((!start) && (name != document.cookie.substring(0,name.length))) return null; 
if (start == -1) return null; 
var end = document.cookie.indexOf(…;…,len); 
if (end == -1) end = document.cookie.length; 
return unescape(document.cookie.substring(len,end)); 
} function Set_Cookie(name,value,expires,path,domain,secure) { 
expires = expires * 60*60*24*1000; 
var today = new Date(); 
var expires_date = new Date( today.getTime() + (expires) ); 
var cookieString = name + …=… +escape(value) + 
( (expires) ? …;expires=… + expires_date.toGMTString() : ……) + 
( (path) ? …;path=… + path : ……) + 
( (domain) ? …;domain=… + domain : ……) + 
( (secure) ? …;secure… : ……); 
document.cookie = cookieString; 
}

当cookies中保存有中文信息时,会发生乱码,这样修改下就会解决问题
//cookie操作函数 
function Get_Cookie(name) { 
var start = document.cookie.indexOf(name+…=…); 
var len = start+name.length+1; 
if ((!start) && (name != document.cookie.substring(0,name.length))) return null; 
if (start == -1) return null; 
var end = document.cookie.indexOf(…;…,len); 
if (end == -1) end = document.cookie.length; 
return decodeURI(document.cookie.substring(len,end)); 
} function Set_Cookie(name,value,expires,path,domain,secure) { 
expires = expires * 60*60*24*1000; 
var today = new Date(); 
var expires_date = new Date( today.getTime() + (expires) ); 
var cookieString = name + …=… +escape(value) + 
( (expires) ? …;expires=… + expires_date.toGMTString() : ……) + 
( (path) ? …;path=… + path : ……) + 
( (domain) ? …;domain=… + domain : ……) + 
( (secure) ? …;secure… : ……); 
document.cookie = cookieString; 
}

主要是把unescape改成了decodeURI。
Javascript 相关文章推荐
JavaScript去除空格的几种方法
Oct 03 Javascript
Dom与浏览器兼容性说明
Oct 25 Javascript
jQuery Ajax 实例全解析
Apr 20 Javascript
基于jquery的loading 加载提示效果实现代码
Sep 01 Javascript
jQuery EasyUI API 中文文档 - Form表单
Oct 06 Javascript
JS getAttribute和setAttribute(取得和设置属性)的使用介绍
Jul 10 Javascript
jquery Form轻松实现文件上传
May 24 jQuery
jQuery实现的简单歌词滚动功能示例
Jan 07 jQuery
react native 原生模块桥接的简单说明小结
Feb 26 Javascript
原生JS实现列表内容自动向上滚动效果
May 22 Javascript
vue仿ios列表左划删除
Sep 26 Javascript
vue实现简易图片左右旋转,上一张,下一张组件案例
Jul 31 Javascript
jQuery 标题的自动翻转实现代码
Oct 14 #Javascript
JavaScript 替换Html标签实现代码
Oct 14 #Javascript
JavaScript null和undefined区别分析
Oct 14 #Javascript
JavaScript iframe的相互操作浅析
Oct 14 #Javascript
使用jQuery简化Ajax开发 Ajax开发入门
Oct 14 #Javascript
jQuery技巧大放送 学习jquery的朋友可以看下
Oct 14 #Javascript
JS+XML 省份和城市之间的联动实现代码
Oct 14 #Javascript
You might like
高分R级DC动画剧《哈莉·奎茵》第二季正式预告首发
2020/04/09 欧美动漫
PHP连接MongoDB示例代码
2012/09/06 PHP
PHP防止图片盗用(盗链)的方法小结
2016/11/11 PHP
PHP实现的基于单向链表解决约瑟夫环问题示例
2017/09/30 PHP
JS 实现双色表格实现代码
2009/11/24 Javascript
基于jquery的使ListNav兼容中文首字拼音排序的实现代码
2011/07/10 Javascript
js变换显示图片的实例
2013/04/16 Javascript
javascript获取鼠标位置部分的实例代码(兼容IE,FF)
2013/08/05 Javascript
javascript强大的日期函数代码分享
2013/09/04 Javascript
javascript简单性能问题及学习笔记
2014/02/04 Javascript
javascript实现全角与半角字符的转换
2015/01/07 Javascript
JavaScript实现选择框按比例拖拉缩放的方法
2015/08/04 Javascript
RequireJS使用注意细节
2016/05/15 Javascript
Ajax与服务器(JSON)通信实例代码
2016/11/05 Javascript
js获取json中key所对应的value值的简单方法
2020/06/17 Javascript
JS闭包可被利用的常见场景小结
2017/04/09 Javascript
angularjs实现柱状图动态加载的示例
2017/12/11 Javascript
基于jquery.page.js实现分页效果
2018/01/01 jQuery
JavaScript实现淘宝京东6位数字支付密码效果
2018/08/18 Javascript
vue2.0项目集成Cesium的实现方法
2019/07/30 Javascript
nodejs对项目下所有空文件夹创建gitkeep的方法
2019/08/02 NodeJs
JS控制只能输入数字并且最多允许小数点两位
2019/11/24 Javascript
windows10下python3.5 pip3安装图文教程
2018/04/02 Python
Python实现定时精度可调节的定时器
2018/04/15 Python
python面试题Python2.x和Python3.x的区别
2019/05/28 Python
python3.6+selenium实现操作Frame中的页面元素
2019/07/16 Python
python生成随机红包的实例写法
2019/09/02 Python
python中reload重载实例用法
2020/12/15 Python
分享PyCharm最新激活码(真永久激活方法)不用每月找安装参数或最新激活码了
2020/12/27 Python
HTML5播放实现rtmp流直播
2020/06/16 HTML / CSS
非功能性需求都包括哪些方面
2013/10/29 面试题
向领导表决心的话
2014/03/11 职场文书
村级环境卫生整治方案
2014/05/04 职场文书
户籍证明模板
2014/09/28 职场文书
新农村建设指导员工作总结
2015/08/13 职场文书
Python使用openpyxl批量处理数据
2021/06/23 Python