PHP-unserialize对serialize.js中的字符串返回false

PHP-unserialize对serialize.js中的字符串返回false,php,serialization,Php,Serialization,我正在使用serialize.js序列化一个对象,我得到以下字符串: a:4:{s:8:"option-1";i:0;s:8:"option-2";i:1;s:8:"option-3";i:0;s:8:"option-4";i:0;}; 当我在PHP中运行unserialize时,我得到 unserialize[function.unserialize]:123字节中偏移量5处的错误 如何解决此问题?在输出之前,您很可能需要通过urlencode传递序列化字符串 要处理它,请在取消序列化之前使

我正在使用serialize.js序列化一个对象,我得到以下字符串:

a:4:{s:8:"option-1";i:0;s:8:"option-2";i:1;s:8:"option-3";i:0;s:8:"option-4";i:0;};
当我在PHP中运行unserialize时,我得到

unserialize[function.unserialize]:123字节中偏移量5处的错误


如何解决此问题?

在输出之前,您很可能需要通过urlencode传递序列化字符串


要处理它,请在取消序列化之前使用urldecode。

对我来说很好!请向代码展示如何取消序列化字符串。似乎有几个库提供了Javascript序列化函数。你在用哪一个?嗯,我刚刚试过,如果我不序列化'a:4:{s:8:option-1;I:0;s:8:option-2;I:1;s:8:option-3;I:0;s:8:option-4;I:0;};';,但是,它不适用于unserializetrim$this->value;当我var_转储$this->值时,我得到字符串。。。此处丢失粘贴的错误是123字节中偏移量5处的错误,但字符串长度为84字节。您确定这就是您遇到问题的字符串吗?这确实很奇怪-当我执行dievar_dump$this->value时,我得到string123 a:4:{s:8:option-1;I:0;s:8:option-2;I:1;s:8:option-3;I:0;s:8:option-4;I:0;};