-
php
- //내 페이지가 UTF-8로 인코딩된 결과는 다음과 같습니다. 2:{s:2:"en";s:21:"http://www.phpddt.com";s:2:"cn";s:6:"tutorial";}
- //내 페이지는 ANSI로 인코딩되었으며 결과는 다음과 같습니다: a:2:{s:2:"en";s:21:"http://www.phpddt.com";s:2 :"cn";s:4:"tutorial";}
- 에코 직렬화(배열('en'=>'http://www.phpddt.com','cn' =>'튜토리얼'));
위에서 보면 쉽게 알 수 있듯이 페이지의 인코딩이 다르고, 직렬화된 중국어 문자열의 길이도 다르며, 직렬화 해제 시 문자열의 길이가 실제 문자열 길이보다 커지면 문제가 발생합니다. , 다음 오류가 보고됩니다.
주의: unserialize() [function.unserialize]: Error at offset
해결책은 역직렬화된 함수를 변환해야 한다는 것입니다. 문자열:
-
함수 _unserialize( $ 문자열)
- {
-
반환 직렬화 해제(preg_replace('!s:(d+):"(.*?)";!se' , '"s:".strlen("$2").":"$2";"', $string) );
- }
재인쇄 출처: http://www.phpddt.com/php/unserialize-error-at-offset.html
위 내용은 직렬화 내용을 포함하여 PHP unserialize의 오프셋 오류에 대해 소개합니다. PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되기를 바랍니다.