html cookie乱码,JavaScript读取中文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 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。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值