Gründe und Lösungen für verstümmelte chinesische Zeichen, wenn PHP und JS Cookies untereinander übertragen

零到壹度
Freigeben: 2023-03-23 15:50:02
Original
1967 Leute haben es durchsucht

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 setzt Cookie, JS liest Cookie


<?php
setcookie ("TestCookie", urlencode("这就是网页21"));
?>
Nach dem Login kopieren
<script type="text/javascript">
    alert(decodeURI(getCookie("TestCookie")))    
    function getCookie(sName) {    
    var aCookie = document.cookie.split(&#39;; &#39;);    
    for (var i=0; i < aCookie.length; i++) {    
    var aCrumb = aCookie[i].split(&#39;=&#39;);    
    if (sName == aCrumb[0])    
    return decodeURI(aCrumb[1]);
 } return &#39;&#39;;
}
</script>
Nach dem Login kopieren

js set cookie php read cookie

<script type="text/javascript">function setCookie(name, value, time){    
        var nameString = name + &#39;=&#39; + 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 = &#39; ;expires = &#39;+ expdate.toGMTString();
 } 
 var path = " ;path =/";
 document.cookie = nameString + expiryString + path;
}setCookie("TestJsCookie", "我是中国人", 0)  </script>
Nach dem Login kopieren


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!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage