php 提供serialize(序列化) 與unserialize(反序列化)方法。
使用serialize序列化后,再使用unserialize反序列化就可以獲取原來的數(shù)據(jù)。
先來看看如下程序?qū)嵗?/p>
輸出:
但下面這個(gè)例子反序列化會(huì)返回false
檢查序列化后的字符串,發(fā)現(xiàn)出問題是在兩處地方:
s:5:"url"
s:29:"http://www.baidu.com/test.html"
這兩處應(yīng)為
s:3:"url"
s:30:"http://www.baidu.com/test.html"
出現(xiàn)這種問題的原因是序列化數(shù)據(jù)時(shí)的編碼與反序列化時(shí)的編碼不一致導(dǎo)致,例如數(shù)據(jù)庫(kù)是latin1和UTF-8字符長(zhǎng)度不一樣。
另外有可能出問題的還有單雙引號(hào),ascii字符"
新聞熱點(diǎn)
疑難解答