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 相关文章推荐
超级兔子让浮动层消失的前因后果
Mar 09 Javascript
javascript判断单选框或复选框是否选中方法集锦
Apr 04 Javascript
Javascript+XMLHttpRequest+asp.net无刷新读取数据库数据
Aug 09 Javascript
在js(jquery)中获得文本框焦点和失去焦点的方法
Dec 04 Javascript
实现动画效果核心方式的js代码
Sep 27 Javascript
利用js制作html table分页示例(js实现分页)
Apr 25 Javascript
avalon js实现仿微博拖动图片排序
Aug 14 Javascript
浅析Bootstrap组件之面板组件
May 04 Javascript
jQuery实现微信长按识别二维码功能
Aug 26 Javascript
小程序实现留言板
Nov 02 Javascript
Vue中跨域及打包部署到nginx跨域设置方法
Aug 26 Javascript
ionic+html5+API实现双击返回键退出应用
Sep 17 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在Web开发领域的优势
2006/10/09 PHP
php利用cookie实现访问次数统计代码
2011/05/19 PHP
php array的学习笔记
2012/05/16 PHP
php使用多个进程同时控制文件读写示例
2014/02/28 PHP
Nginx下配置codeigniter框架方法
2015/04/07 PHP
php算法实例分享
2015/07/14 PHP
php基于mcrypt_encrypt和mcrypt_decrypt实现字符串加密解密的方法
2016/07/12 PHP
解决AJAX中跨域访问出现'没有权限'的错误
2008/08/20 Javascript
Jquery中使用setInterval和setTimeout的方法
2013/04/08 Javascript
javascript html实现网页版日历代码
2016/03/08 Javascript
js 实现一些跨浏览器的事件方法详解及实例
2016/10/27 Javascript
JavaScript给每一个li节点绑定点击事件的实现方法
2016/12/01 Javascript
基于vue2.0实现简单轮播图
2017/11/27 Javascript
JQuery属性操作与循环用法示例
2019/05/15 jQuery
vue 使用vant插件做tabs切换和无限加载功能的实现
2020/11/04 Javascript
详解vite2.0配置学习(typescript版本)
2021/02/25 Javascript
[01:00] DOTA2英雄背景故事第五期之重力引力法则谜团
2020/07/16 DOTA
python中的格式化输出用法总结
2016/07/28 Python
python 网络编程常用代码段
2016/08/28 Python
Python中协程用法代码详解
2018/02/10 Python
pandas 按照特定顺序输出的实现代码
2018/07/10 Python
python实现傅里叶级数展开的实现
2018/07/21 Python
Python 面试中 8 个必考问题
2018/11/16 Python
python3 pygame实现接小球游戏
2019/05/14 Python
Python 虚拟空间的使用代码详解
2019/06/10 Python
ubuntu 18.04 安装opencv3.4.5的教程(图解)
2019/11/04 Python
python实现图片上添加图片
2019/11/26 Python
python创建n行m列数组示例
2019/12/02 Python
Ubuntu16.04安装python3.6.5步骤详解
2020/01/10 Python
Python tcp传输代码实例解析
2020/03/18 Python
什么是python的列表推导式
2020/05/26 Python
Pytorch模型迁移和迁移学习,导入部分模型参数的操作
2021/03/03 Python
详解canvas绘制多张图的排列顺序问题
2019/01/21 HTML / CSS
意大利顶级奢侈品电商:LUISAVIAROMA(支持中文)
2020/05/26 全球购物
标准毕业生自荐信范文
2013/11/04 职场文书
列车长先进事迹材料
2014/01/25 职场文书