La solution aux cookies php tronqués : encodez-le d'abord avec l'Url lors de l'écriture du Cookie ; puis réécrivez le Cookie et enfin décodez l'Url lors de la lecture ;
L'environnement d'exploitation de cet article : système windows7, version PHP7.1, ordinateur DELL G3
Chinois quand php et js transférer des cookies entre eux Le problème des caractères tronqués
JS stocke les cookies, et lorsque PHP les lit, ils deviennent des caractères tronqués.
Analyse du problème :
Ceci est dû à l'encodage des caractères. Les caractères chinois ont deux encodages, c'est pourquoi de tels caractères tronqués sont produits !
Solution :
1 : Lors de l'écriture du Cookie, encodez-le d'abord avec l'URL, puis écrivez-le
2 : Lorsque nous le lisons, décodez l'URL disponible <.>
php deux fonctions urlencode() urldecode() js deux fonctions Fonction decodeURI() encodeURI() php définit le cookie, js lit le 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>
<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>
Tutoriel vidéo PHP"
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!