PHP 取消序列化是否因未编码字符而失败?
2022-08-30 14:01:45
$ser = 'a:2:{i:0;s:5:"héllö";i:1;s:5:"wörld";}'; // fails
$ser2 = 'a:2:{i:0;s:5:"hello";i:1;s:5:"world";}'; // works
$out = unserialize($ser);
$out2 = unserialize($ser2);
print_r($out);
print_r($out2);
echo "<hr>";
但是为什么?
我应该在序列化之前进行编码吗?如何?
我正在使用Javascript将序列化字符串写入隐藏字段,而不是PHP的$ _POST
在JS中,我有这样的东西:
function writeImgData() {
var caption_arr = new Array();
$('.album img').each(function(index) {
caption_arr.push($(this).attr('alt'));
});
$("#hidden-field").attr("value", serializeArray(caption_arr));
};