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 相关文章推荐
jquery实现点击消失的代码
Mar 03 Javascript
jQuery扁平化风格下拉框美化插件FancySelect使用指南
Feb 10 Javascript
简介JavaScript中的setHours()方法的使用
Jun 11 Javascript
JavaScript脚本判断蜘蛛来源的方法
Sep 22 Javascript
jquery,js简单实现类似Angular.js双向绑定
Jan 13 Javascript
Vue.js事件处理器与表单控件绑定详解
Mar 20 Javascript
D3.js进阶系列之CSV表格文件的读取详解
Jun 06 Javascript
js的函数的按值传递参数(实例讲解)
Nov 16 Javascript
Angular2使用vscode断点调试ts文件的方法
Dec 13 Javascript
详解webpack4.x之搭建前端开发环境
Mar 28 Javascript
Vue仿微信app页面跳转动画效果
Aug 21 Javascript
vue特效之翻牌动画
Apr 20 Vue.js
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
php上的memcache和memcached两个pecl库
2010/03/29 PHP
有道搜索和IP138的IP的API接口(PHP应用)
2012/11/29 PHP
如何使用微信公众平台开发模式实现多客服
2016/01/06 PHP
Yii2搭建后台并实现rbac权限控制完整实例教程
2016/04/28 PHP
PHP递归获取目录内所有文件的实现方法
2016/11/01 PHP
Thinkphp5框架实现获取数据库数据到视图的方法
2019/08/14 PHP
Javascript中eval函数的使用方法与示例
2007/04/09 Javascript
再论Javascript的类继承
2011/03/05 Javascript
为jquery的ajaxfileupload增加附加参数的方法
2014/03/04 Javascript
php is_numberic函数造成的SQL注入漏洞
2014/03/10 Javascript
javascript数组遍历for与for in区别详解
2014/12/04 Javascript
js实现无限级树形导航列表效果代码
2015/09/23 Javascript
学习使用bootstrap基本控件(table、form、button)
2016/04/12 Javascript
纯js实现倒计时功能
2017/01/06 Javascript
LayUi使用switch开关,动态的去控制它是否被启用的方法
2019/09/21 Javascript
如何在vue 中使用柱状图 并自修改配置
2021/01/21 Vue.js
[01:20:38]完美世界DOTA2联赛 GXR vs IO 第一场 11.07
2020/11/09 DOTA
Fabric 应用案例
2016/08/28 Python
在Python 2.7即将停止支持时,我们为你带来了一份python 3.x迁移指南
2018/01/30 Python
python实现画一颗树和一片森林
2018/06/25 Python
Pytorch 计算误判率,计算准确率,计算召回率的例子
2020/01/18 Python
如何在 Django 模板中输出 "{{"
2020/01/24 Python
利用Python计算KS的实例详解
2020/03/03 Python
对django 2.x版本中models.ForeignKey()外键说明介绍
2020/03/30 Python
Python基于Socket实现简易多人聊天室的示例代码
2020/11/29 Python
python多线程和多进程关系详解
2020/12/14 Python
详解appium自动化测试工具(monitor、uiautomatorviewer)
2021/01/27 Python
.net开发工程师面试题
2014/02/25 面试题
what is the difference between ext2 and ext3
2015/08/25 面试题
主管会计岗位责任制
2014/02/10 职场文书
《小松树和大松树》教学反思
2014/02/20 职场文书
大学四年个人自我小结
2014/03/05 职场文书
个人授权委托书范文
2014/09/21 职场文书
学术会议领导致辞
2015/07/29 职场文书
用Python远程登陆服务器的步骤
2021/04/16 Python
Java Spring Boot 正确读取配置文件中的属性的值
2022/04/20 Java/Android