• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

反序列化打印不了好奇怪,该怎么解决

php 搞代码 3年前 (2022-01-23) 16次浏览 已收录 0个评论

反序列化打印不了好奇怪
<?php
$safe_faqs = ‘a:4:{i:1;a:2:{s:8:”question”;s:37:”您最喜欢的网建程序是什么?”;s:6:”answer”;s:7:”DedeCMS”;}i:2;a:2:{s:8:”question”;s:6:”1+11=?”;s:6:”answer”;s:2:”12″;}i:3;a:2:{s:8:”question”;s:59:”中国哪项体育运动最让人听着伤心,看着揪心?”;s:6:”answer”;s:6:”足球”;}i:4;a:2:{s:8:”question”;s:29:””;s:6:”answer”;s:24:”织梦内容管理系统”;}}’;

$safefaqs = unserialize($safe_faqs);

print_r($safefaqs);
?>
页面就是空白,为什么啊,求指点下

——解决方案——————–
将文件编码修改成UTF-8即可.
——解决方案——————–
对了 文件UTF8编码,中文要转换吧%XX%XX%XX这样的
——解决方案——————–
LZ在反序列号之前先用stripsl

。本文来源gao!%daima.com搞$代*!码网1

搞代gaodaima码ashes()这个试试
不知道是不是PHP自动给加了\这个符号了
——解决方案——————–
解决此类问题的要点在于:知道序列化串是如何组成的

如 s:6:”足球”;
s 表示是字符串
6 表示长度为6个字节
包括在双引号中的就是内容了
由于有长度指示,所以内容中可能出现的双引号不会产生歧义

对于这个例子,观察到内容为 足球 是两个汉字,而长度为 6,这就表示这是在 utf-8 编码环境中序列化的。

你把程序另存为 utf-8 编码的,或 $safe_faqs = iconv(‘gbk’, ‘utf-8’, $safe_faqs);
转一下码,都是可以正常输出的


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:反序列化打印不了好奇怪,该怎么解决

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址