zoukankan      html  css  js  c++  java
  • Error at offset之反序列化

    关于PHP 序列化(serialize)和反序列化(unserialize)出现错误(Error at offset)的解决办法。

    首先我们分析一下为什么会出现这个错误:

    编码问题

    UTF-8:

    ANSI:

    我发现在我的机器上边编码改动只是影响了汉字的显示,对Object序列化和反序列化并没有影响,但是网络上有介绍说是因为编码的问题,这个要看大家具体的问题了。

    解决办法,既然在serialize时没有问题,那么我们就主要考虑是否是unserialize的时候出现了问题,我采取的措施如下:

    对要反序列化的数据进行一次转换,究竟转换这个函数是网络上找的,暂时不会写!

    那么既然要转换一个反序列化的对象,我们就要利用到mysqldb.class.php(例子),在mysqldb.class.php中添加如下方法:

    好的,完成这一步,就需要我们对unserialize.php反序列化读取数据进行一些修改。

    就像老师讲的那样,我们首先载入

    接下来我把,那个需要转换的字符串进行了一次初始化,为什么,如果不初始化,会提示

    因为我们unserialize.php这个页面内没有$out这个变量的原因。

    接下来

    这样我们才可以看到和老师课上演示一样的效果,至于link的问题这里暂时不做讨论,因为凌晨2点了,我想睡觉了

    下边是我serialize.php和unserialize.php2个页面的代码供大家参考。

    亲奈的同学们,我只是分享一下我复习当中遇到的问题,请不要喷我。

    我是小白,还没有资格装X,拿出来我的一点想法和大家分享。

    喜欢的可以看下,不喜欢的肯定是我写的不够好。分享快乐。

    谢谢大家。

    代码贴在下面

    向同学们

     

     

    致敬

     

     

     

     

  • 相关阅读:
    【leetcode】Binary Search Tree Iterator
    【leetcode】Palindrome Partitioning II
    【leetcode】Best Time to Buy and Sell Stock III
    【leetcode】Best Time to Buy and Sell Stock II
    【leetcode】Longest Consecutive Sequence
    【leetcode】Factorial Trailing Zeroes
    【leetcode】Simplify Path
    【leetcode】Generate Parentheses
    【leetcode】Combination Sum II
    【leetcode】Combination Sum
  • 原文地址:https://www.cnblogs.com/HackerArt/p/3471923.html
Copyright © 2011-2022 走看看