php cookie中文乱码,php/js互传cookie中文乱码的问题

js存储cookie,php读取的时候成了乱码 。

问题分析:

这是因为文字编码而造成的,汉字是两个编码,所以才会搞出这么个乱码出来!

解决思路:

1:写入Cookie时,先将其用Url编码,然后再写入

2:当我们读取时再Url解码即可

php两个函数

urlencode()

urldecode()

js两个函数

decodeURI()

encodeURI()

php 设置cookie ,js读取cookie

setcookie ("TestCookie", urlencode("这就是网页21"));

?>

alert(decodeURI(getCookie("TestCookie")))

function getCookie(sName) {

var aCookie = document.cookie.split('; ');

for (var i=0; i < aCookie.length; i++) {

var aCrumb = aCookie[i].split('=');

if (sName == aCrumb[0])

return decodeURI(aCrumb[1]);

}

return '';

}

js设置cookie php读取cookie

var nameString = name + '=' + encodeURI(value);

var expiryString = "";

if(time !== 0) {

var expdate = new Date();

if(time == null || isNaN(time)) time = 60*60*1000;

expdate.setTime(expdate.getTime() + time);

expiryString = ' ;expires = '+ expdate.toGMTString();

}

var path = " ;path =/";

document.cookie = nameString + expiryString + path;

}setCookie("TestJsCookie", "我是中国人", 0)

echo urldecode($_COOKIE["TestJsCookie"]);

?>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值