php提示Notice:unserialize()[function.unserialize]:Error错误解决办法
出现这个错误,可能会有几种原因,网上搜索的答案基本也是比较有针对性的一方面,关键在如何去寻找原因,并解决它。
在使用php中serialize函数时会出现示Notice:unserialize()[function.unserialize]:Error错误了,下面我们来看问题解决办法。
解决方法一:将UTF-8编码的数据转换成GBK,PHP语言可以用iconv()函数;
$out = preg_replace('!s:(\d ):"(.*?)";!se', "'s:'.strlen('$2').':\"$2\";'", $serial_str );return unserialize($out);
}
这个原因是很常见的,比方,原本是以GBK编码进行存储,然后是UTF-8编码的,那么在进行unserialize()就会有问题;
解决方法三:对字符数据进行base64_encode,然后serialize序列化,还原提取时,unserialize()再base64_decode
一些情况可以把底层的函数重写,将gb2312转换成utf-8格式之后,每个中文的字节数从2个增加到3个之后导致了反序列化的时候判断字符长度出现了问题,所以需要使用正则表达式将序列化的数组中的表示字符长度的值重新计算一遍,代码如下:
function mb_unserialize($serial_str) {
分析二:重写反序列函数
分析一:在数据进行存储并反序列化时编码问题出错
相关热词: 解决
本站内容来源于网络,如有侵权请与我们联系,我们会及时删除,我们深感抱歉!
注:本站所有信息仅供用于网络技术学习参考,学习中请遵循相关法律法规!
本文地址: https://v30.fanwenzhu.com/jq/jc/6794.shtml
相关文章
热门TAG
win10 ecshop 主机 阿里云 解决 配置 C# C++ 解析 SQL语句 命令 Go语言 方法 CSS3 HTML5 CSS win7 MSSQL 服务器配置 IIS7.5 IIS7 IIS6 IIS CentOS 7 Linux oracle数据库 oracle phpcms discuz discuz教程最新文章
-
PHP识别相片是否是颠倒的
时间:2020-12-28
-
python编程有哪些ide
时间:2020-12-28
-
python开发工程师是做什么
时间:2020-12-28
-
php构造函数的作用
时间:2020-12-28
-
php怎么跟数据库连接
时间:2020-12-28
-
php实现顺序线性表
时间:2020-12-28
-
Python多重继承中的菱形继
时间:2020-12-28
-
php中break的作用
时间:2020-12-28
热门文章
-
php中常用的正则表达式使用方法
时间:2020-12-25
-
asp与php区别是什么?
时间:2020-12-27
-
PHP识别相片是否是颠倒的,并且重新摆正
时间:2020-12-28
-
Yii授权之基于角色的存取控制 (RBAC)
时间:2020-12-23
-
php的一键安装包有哪些 php环境搭建
时间:2020-12-19
-
php实现对图片对称加解密(适用身份证加
时间:2020-12-25
-
php如何理解面向对象
时间:2020-12-28
-
超详细分析php docker的原理及作用
时间:2020-12-27
-
Python控制Excel实现自动化办公
时间:2020-12-23
-
session的作用是什么
时间:2020-12-25
