unserialize() 反序列化报错,疑似乱码解决 阿星小栈

用serialize()序列化数据后插入数据库,再用unserialize()反序列化出来的时候遇到了部分数据字符串报错;

解决方法:

function mb_unserialize($serial_str) {
            
            $out = preg_replace('!s:(\d+):"(.*?)";!se', "'s:'.strlen('$2').':\"$2\";'", $serial_str );
            
            return unserialize($out);
        }

 

posted @ 2017-08-03 15:13  阿星小栈  阅读(392)  评论(0编辑  收藏  举报