2014-02-18 36 views
0

在將數據插入數據庫之前,是否可以使用PDO轉義序列化字符串?PDO轉義串行化字符串

我已經構建了一個來自WYSIWYG編輯器的內容將被序列化的東西。如果有人粘貼從Word文本編輯器,並保存,我會得到下面的錯誤,因爲多個樣式標籤,其中說:

unserialize(): Error at offset 105 of 1020 

我試着說不會從Word中粘貼哈哈,不過,我想喜歡構建它,這樣即使它不是最好的方法。

我找到了PDO函數的引用,但我不確定這是我在找什麼。 除了這個功能,我找不到任何其他解決方案。我已經在使用PDO準備好的語句。

我想知道是否有可能。感謝您的努力。

回答

1

我相信它與編碼有關。

您應該在保存之前執行base64_encode並在保存之後執行base64_decode。作爲寫道here

$toDatabse = base64_encode(serialize($data)); // Save to database 
$fromDatabase = unserialize(base64_decode($data)); //Getting Save Format 

此外,爲避免編碼問題,當您連接到數據庫中執行此SQL請求:

"SET NAMES 'utf8'"