您好,欢迎访问一九零五行业门户网

如何解决php cookies乱码问题

php cookies乱码的解决办法:首先在写入cookie时,将其用url编码;然后重新写入cookie;最后在读取时进行url解码即可。
本文操作环境:windows7系统、php7.1版,dell g3电脑
php与js互传cookie时中文乱码的问题
js存储cookie,php读取的时候成了乱码 。
问题分析:
这是因为文字编码而造成的,汉字是两个编码,所以才会搞出这么个乱码出来!
解决思路:
1:写入cookie时,先将其用url编码,然后再写入
2:当我们读取时再url解码即可
php两个函数
urlencode() 
urldecode()
js两个函数
decodeuri() 
encodeuri() 
php 设置cookie ,js读取cookie
<?phpsetcookie ("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>
<?phpecho urldecode($_cookie["testjscookie"]);?>
推荐学习:《php视频教程》
以上就是如何解决php cookies乱码问题的详细内容。
其它类似信息

推荐信息