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改变CSS样式(局部和全局)
Dec 18 Javascript
node.js中的events.emitter.listeners方法使用说明
Dec 10 Javascript
javascript实现的简单计时器
Jul 19 Javascript
详解Node.js中exports和module.exports的区别
Apr 19 Javascript
jQuery实现菜单栏导航效果
Aug 15 jQuery
Vue+SpringBoot开发V部落博客管理平台
Dec 27 Javascript
vue实现图片加载完成前的loading组件方法
Feb 05 Javascript
jQuery实现form表单序列化转换为json对象功能示例
May 23 jQuery
elementUI Vue 单个按钮显示和隐藏的变换功能(两种方法)
Sep 04 Javascript
AngularJS $http post 传递参数数据的方法
Oct 09 Javascript
vue-cli配置全局sass、less变量的方法
Jun 06 Javascript
vue data引入本地图片的两种方式小结
Nov 13 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缓存技术介绍
2006/11/25 PHP
PHP 数组实例说明
2008/08/18 PHP
PHP 多维数组排序(usort,uasort)
2010/06/30 PHP
PHP 字符串正则替换函数preg_replace使用说明
2011/07/15 PHP
如何设置mysql允许外网访问
2013/06/04 PHP
ThinkPHP实现将本地文件打包成zip下载
2014/06/26 PHP
PHP控制反转(IOC)和依赖注入(DI)
2017/03/13 PHP
jquery选择器之内容过滤选择器详解
2014/01/27 Javascript
php+ajax+jquery实现点击加载更多内容
2015/05/03 Javascript
详细分析JavaScript变量类型
2015/07/08 Javascript
Node.js插件安装图文教程
2016/05/06 Javascript
IE8兼容Jquery.validate.js的问题
2016/12/01 Javascript
Node.js的特点详解
2017/02/03 Javascript
Angular.js中$resource高大上的数据交互详解
2017/07/30 Javascript
微信小程序如何获取openid及用户信息
2018/01/26 Javascript
nodejs微信扫码支付功能实现
2018/02/17 NodeJs
angular 用Observable实现异步调用的方法
2018/12/27 Javascript
JS异步宏队列与微队列原理区别详解
2020/07/02 Javascript
[00:43]FTP典藏礼包 DOTA2三大英雄霸气新套装
2014/03/21 DOTA
Python定时发送天气预报邮件代码实例
2019/09/09 Python
python如何把字符串类型list转换成list
2020/02/18 Python
Python龙贝格法求积分实例
2020/02/29 Python
HTML中meta标签及Keywords
2020/04/15 HTML / CSS
Foot Locker意大利官网:全球领先的运动鞋和服装零售商
2017/05/30 全球购物
英国家喻户晓的高街品牌:River Island
2017/11/28 全球购物
网站域名和主机:Domain.com
2019/04/01 全球购物
天逸系统(武汉)有限公司Java笔试题
2015/12/29 面试题
教师自我鉴定范文
2013/11/10 职场文书
面包店的创业计划书范文
2014/01/16 职场文书
商场消防演习方案
2014/02/12 职场文书
纪念九一八事变演讲稿:忘记意味着背叛
2014/09/14 职场文书
基层党组织整改方案
2014/10/25 职场文书
董事长助理工作总结2015
2015/07/23 职场文书
Python MNIST手写体识别详解与试练
2021/11/07 Python
电脑无法安装Windows 11怎么办?无法安装Win11的解决方法
2021/11/21 数码科技
python多线程方法详解
2022/01/18 Python