在php中使用unserialize时出错?

时间:2012-12-12 10:30:44

标签: php

$info='a:1:{s:10:"2G Network";s:22:"GSM 900 / 1800 / 1900 ";}';
$info1 = unserialize($info);
print_r($info1);

在firebug中运行代码时出错:

Notice: unserialize() [<a href='function.unserialize'>function.unserialize</a>]: Error at offset 0 of 65 bytes in...

如何解决?

3 个答案:

答案 0 :(得分:0)

$info='a:38:{s:10:"2G Network";s:22:"GSM 900 / 1800 / 1900 ";}';未正确序列化。

数组的格式如下:

a:项目数量:{元素集合};

您阵列中的一个元素(2G Network =&gt; GSM 900/1800/1900)。所有其余的都没问题,以下内容正确地反序列化:

a:1:{s:10:"2G Network";s:22:"GSM 900 / 1800 / 1900 ";}

答案 1 :(得分:0)

use utf8_encode and utf8_decode..
like..

$str = utf8_encode($str); 

$str= unserialize($str); 

$str= utf8_decode($str);  

答案 2 :(得分:0)

我认为这个有助于解决您的问题:

<?php

$info = serialize(array('2G Network','GSM 900 / 1800 / 1900'));
(or)
$info='a:1:{s:10:"2G Network";s:22:"GSM 900 / 1800 / 1900 ";}';

$info1 = unserialize($info);
// Show the unserialized data;
print_r($info1);
?>

对于您的Functional Reference,请点击此处。