Heim > Artikel > Backend-Entwicklung > Gründe und Lösungen für verstümmelte chinesische Zeichen, wenn PHP und JS Cookies untereinander übertragen
Der Inhalt dieses Artikels besteht darin, Ihnen die Gründe und Lösungen für verstümmelte chinesische Zeichen mitzuteilen, die durch die gegenseitige Übertragung von Cookies zwischen PHP und JS verursacht werden. Freunde in Not können sich darauf beziehen 🎜>
Problemanalyse:
Dies wird dadurch verursacht, dass chinesische Schriftzeichen zwei Kodierungen haben passiert Es ist so ein verstümmelter Code herausgekommen!
Lösung:
1: Wenn Sie ein Cookie schreiben, verwenden Sie zuerst die URL-Codierung , und schreiben Sie dann
2: Wenn wir es lesen, entschlüsseln Sie die URL
php zwei Funktionen
urlencode()
urldecode()
js zwei Funktionen
decodeURI()
encodeURI()
Die Version vor 5.5 ist Escape Unescape
<?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>
Das obige ist der detaillierte Inhalt vonGründe und Lösungen für verstümmelte chinesische Zeichen, wenn PHP und JS Cookies untereinander übertragen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!