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 相关文章推荐
用document.documentElement取代document.body的原因分析
Nov 12 Javascript
js判断是否为数组的函数: isArray()
Oct 30 Javascript
jqGrid随窗口大小变化自适应大小的示例代码
Dec 28 Javascript
JS中数组Array的用法示例介绍
Feb 20 Javascript
在JavaScript中判断整型的N种方法示例介绍
Jun 18 Javascript
js点击按钮实现带遮罩层的弹出视频效果
Dec 19 Javascript
javascript insertAfter()定义与用法示例
Jul 25 Javascript
JavaScript每天必学之数组和对象部分
Sep 17 Javascript
Node.js常用工具之util模块
Mar 09 Javascript
Vue项目分环境打包的实现步骤
Apr 02 Javascript
element-ui表格数据转换的示例代码
Aug 24 Javascript
JavaScript中BOM对象原理与用法分析
Jul 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
php 无法载入mysql扩展
2010/03/12 PHP
PHP 截取字符串专题集合
2010/08/19 PHP
php 利用array_slice函数获取随机数组或前几条数据
2015/09/30 PHP
PHP实现数组根据某个字段进行水平合并,横向合并案例分析
2019/10/08 PHP
把html页面的部分内容保存成新的html文件的jquery代码
2009/11/12 Javascript
ExtJs之带图片的下拉列表框插件
2010/03/04 Javascript
基于node.js的快速开发透明代理
2010/12/25 Javascript
jQuery News Ticker 基于jQuery的即时新闻行情展示插件
2011/11/05 Javascript
javascript如何写热点图
2015/12/08 Javascript
基于JS实现无缝滚动思路及代码分享
2016/06/07 Javascript
AngularGauge 属性解析详解
2016/09/06 Javascript
Javascript实现数组中的元素上下移动
2017/04/28 Javascript
Node.js + express基本用法教程
2019/03/14 Javascript
layui的表单验证支持ajax判断用户名是否重复的实例
2019/09/06 Javascript
[01:07:46]完美世界DOTA2联赛循环赛 Magma vs IO BO2第二场 11.01
2020/11/02 DOTA
Python 面向对象 成员的访问约束
2008/12/23 Python
在Python中利用Into包整洁地进行数据迁移的教程
2015/03/30 Python
用Python编写脚本使IE实现代理上网的教程
2015/04/23 Python
python 异常处理总结
2016/10/18 Python
Python中你应该知道的一些内置函数
2017/03/31 Python
用Eclipse写python程序
2018/02/10 Python
在python 不同时区之间的差值与转换方法
2019/01/14 Python
python实现诗歌游戏(类继承)
2019/02/26 Python
numpy数组广播的机制
2019/07/12 Python
python pygame实现球球大作战
2019/11/25 Python
python数据类型强制转换实例详解
2020/06/22 Python
Expected conditions模块使用方法汇总代码解析
2020/08/13 Python
伦敦一卡通:The London Pass
2018/11/30 全球购物
英语专业毕业个人求职自荐信
2013/09/21 职场文书
预备党员承诺书
2014/03/25 职场文书
我心目中的好老师活动方案
2014/08/19 职场文书
2015年公民道德宣传日活动总结
2015/03/23 职场文书
责任书范本大全
2015/05/11 职场文书
幼儿园辞职信
2015/05/13 职场文书
通讯稿格式及范文
2015/07/22 职场文书
2016优秀护士求职自荐信
2016/01/28 职场文书