走啊走
wordpress安装

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

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

问题分析:

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

解决思路:

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

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

php两个函数

urlencode() 

urldecode()

js两个函数

decodeURI() 

encodeURI() 

5.5以前的版本是 escape   unescape

 php 设置cookie ,js读取cookie

<?php
setcookie ("TestCookie", urlencode("这就是网页21"));
?>
<script type="text/javascript">
    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 '';
}
</script>

 js设置cookie php读取cookie

<script type="text/javascript">function setCookie(name, value, time){
    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)  </script>
<?php
echo urldecode($_COOKIE["TestJsCookie"]);
?>
微信订阅号:wordpress8—wordpress安装 » php与js互传cookie中文乱码的问题

评论 抢沙发

#快捷签到点我#

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

ECS突发性能T6-99元/年
力荐

阿里云服务器,ECS共享型S6新品低至69.86/年

阅读(1502)评论(242)

新用户专属小站价,爆款产品1折起,百度云服务器之前买的特价大概100块钱左右一年的吧,大概还有一个月就要过期了,平时没怎么用基本是空着的,做一些测试用,今天去百度云续费域名,结果发现又有活动团购价格62元/6个月的价格,感觉比较划算六十多块钱买半年,这个价格还是比较诱人的,...

ECS突发性能T6-99元/年
新手必看

wordpress建站首选云服务器229.00/3年

阅读(2822)评论(242)

新用户专属小站价,爆款产品1折起爆款产品5折起,新老用户同享优惠,限时抢购,指定云产品使用 限新用户 最高¥2000...

本站正在用的阿里云ECS服务器,主机低至102元/年 阿里云特惠通道
免备案主机/ECS云服务器,一台服务器可以搭建很多个网站 查看优惠