Maison > développement back-end > tutoriel php > 反序列化打印不了好奇怪,该怎么解决

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

WBOY
Libérer: 2016-06-13 13:28:10
original
953 Les gens l'ont consulté

反序列化打印不了好奇怪
$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在反序列号之前先用stripslashes()这个试试
不知道是不是PHP自动给加了\这个符号了
------解决方案--------------------
解决此类问题的要点在于:知道序列化串是如何组成的

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

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

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

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal