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 相关文章推荐
js 纯数字不重复排列的另类方法
Jul 17 Javascript
页面js遇到乱码问题的解决方法是和无法转码的情况
Apr 30 Javascript
基于jquery实现select选择框内容左右移动添加删除代码分享
Aug 25 Javascript
jquery遍历标签中自定义的属性方法
Sep 17 Javascript
jquery 判断div show的状态实例
Dec 03 Javascript
vue.js全局API之nextTick全面解析
Jul 07 Javascript
Vue.js 利用v-for中的index值实现隔行变色
Aug 01 Javascript
jQuery超简单遮罩层实现方法示例
Sep 06 jQuery
es6数据变更同步到视图层的方法
Mar 04 Javascript
vue-router结合vuex实现用户权限控制功能
Nov 14 Javascript
vue-cli3.X快速创建项目的方法步骤
Nov 14 Javascript
使用typescript快速开发一个cli的实现示例
Dec 09 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
推荐文章系统(一)
2006/10/09 PHP
新手配置 PHP 调试环境(IIS+PHP+MYSQL)
2007/01/10 PHP
PHP读取PDF内容配合Xpdf的使用
2012/11/24 PHP
PHP生成图片验证码、点击切换实例
2014/06/25 PHP
PHP中上传多个文件的表单设计例子
2014/11/19 PHP
php实现网页端验证码功能
2017/07/11 PHP
JavaScript实现的使用键盘控制人物走动实例
2014/08/27 Javascript
Javascript的setTimeout()使用闭包特性时需要注意的问题
2014/09/23 Javascript
JSON格式化输出
2014/11/10 Javascript
JS基于面向对象实现的放烟花效果
2015/05/07 Javascript
JavaScript 2048 游戏实例代码(简单易懂)
2016/03/25 Javascript
字符串反转_JavaScript
2016/04/28 Javascript
jQuery日程管理插件fullcalendar使用详解
2017/01/07 Javascript
解决vue-cli项目打包出现空白页和路径错误的问题
2018/09/04 Javascript
基于elementUI竖向表格、和并列的案例
2020/10/26 Javascript
vue+flask实现视频合成功能(拖拽上传)
2021/03/04 Vue.js
[46:55]Ti4 冒泡赛第二轮 LGD vs C9
2014/07/14 DOTA
[00:33]2016完美“圣”典风云人物:BurNIng宣传片
2016/12/10 DOTA
[01:12:40]DOTA2-DPC中国联赛 正赛 DLG vs XG BO3 第三场 1月25日
2021/03/11 DOTA
使用Python求解最大公约数的实现方法
2015/08/20 Python
Sanic框架应用部署方法详解
2018/07/18 Python
pycharm安装和首次使用教程
2018/08/27 Python
python3反转字符串的3种方法(小结)
2019/11/07 Python
pytorch 实现模型不同层设置不同的学习率方式
2020/01/06 Python
如何使用PyCharm引入需要使用的包的方法
2020/09/22 Python
美国性感内衣店:Yandy
2018/06/12 全球购物
瑞士灯具购物网站:Lampenwelt.ch
2018/07/08 全球购物
德国大型箱包和皮具商店:Koffer
2019/10/01 全球购物
中专毕业生自我鉴定范文
2013/11/09 职场文书
初三开学计划书
2014/04/27 职场文书
班级口号大全
2014/06/09 职场文书
2014年全国爱牙日宣传活动方案
2014/09/21 职场文书
开除通知书范本
2015/04/25 职场文书
入党介绍人意见怎么写
2015/06/03 职场文书
学校中层领导培训心得体会
2016/01/11 职场文书
python基础之函数的定义和调用
2021/10/24 Python