JS가 PHP에 설정된 중국어 쿠키를 읽을 때 잘못된 문자가 나타나면 어떻게 해야 합니까?

coldplay.xixi
풀어 주다: 2023-03-03 13:48:02
원래의
2314명이 탐색했습니다.

JS가 PHP에 설정된 중국어 쿠키를 읽을 때 문자가 왜곡되는 해결 방법: 1. 먼저 이스케이프 함수를 사용하여 PHP로 인코딩하고 클라이언트에 도달할 때 js에서 이스케이프 해제 디코딩을 사용합니다. 2. [setrawcookie()] 함수를 사용하여 교체합니다. 쿠키 값.

JS가 PHP에 설정된 중국어 쿠키를 읽을 때 잘못된 문자가 나타나면 어떻게 해야 합니까?

JS가 PHP에 설정된 중국어 쿠키를 읽을 때 문자가 왜곡되는 솔루션:

먼저 PHP에서 인코딩하려면 이스케이프 기능을 사용하고, 클라이언트에 도달하면 js에서 언스케이프 디코딩을 사용하세요.

escape 함수는 다음과 같습니다:

function escape($str) { preg_match_all("/[\x80-\xff].|[\x01-\x7f]+/",$str,$r); $ar = $r[0]; foreach($ar as $k=>$v) { if(ord($v[0]) < 128) $ar[$k] = rawurlencode($v); else $ar[$k] = "%u".bin2hex(iconv("GB2312","UCS-2",$v)); } return join("",$ar); }
로그인 후 복사

예:test.phptest.php

$v) { if(ord($v[0]) < 128) $ar[$k] = rawurlencode($v); else $ar[$k] = "%u".bin2hex(iconv("GB2312","UCS-2",$v)); } return join("",$ar); } $name = escape("深圳人"); setcookie("name", $name); ?>  function get_cookie(name) { var result = null; var myCookie = document.cookie + ";"; var searchName = name + "="; var startOfCookie = myCookie.indexOf(searchName); var endOfCookie; if (startOfCookie != -1) { startOfCookie += searchName.length; endOfCookie = myCookie.indexOf(";",startOfCookie); result = unescape(myCookie.substring(startOfCookie, endOfCookie)); } return result; }   document.write("js:" + unescape(getCookie("name"))); 
로그인 후 복사

另外还有一个方法:

在PHP5中,可以使用setrawcookie()rrreee

또 다른 방법이 있습니다:

PHP5에서는setrawcookie()를 사용할 수 있습니다. 함수 대신 쿠키 값 설정 시 인코딩되지 않으므로 쿠키 설정 시 이스케이프 기능으로 인코딩할 필요가 없습니다. 이때 JS는 쿠키 값을 직접 읽을 수도 있습니다

관련 학습 권장 사항:
PHP 프로그래밍 초보자부터 마스터까지

위 내용은 JS가 PHP에 설정된 중국어 쿠키를 읽을 때 잘못된 문자가 나타나면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!