2016-12-28 95 views
1

我有一個PHP對象,我正在序列化並存儲在mySQL longText字段中。 mySQL數據庫以UTF-8編碼,這個longText字段也是如此。當我使用mySQL客戶端複製longText字段的內容並將其粘貼到文本編輯器中時,我發現控件字符已插入到屬於該對象的屬性名稱中。這裏有一個截屏,顯示爲紅色的控制字符:PHP Serialize將控制字符添加到對象屬性名稱?

enter image description here

這是正常的PHP序列化?

回答

1

。假定在您的示例¿代表一個空字節,然後是的,它是正常的,每本手冊:

注:對象的私有成員有前置到成員 名稱的類名稱;受保護的成員在成員名稱前加了一個'*'。這些 前置值在任一側都具有空字節。 〜PHP Manual: Serialize

......這是當你移動序列化對象時要注意的事情。這些空字節的丟失會使您的對象不可序列化(或者您可能會得到奇數名稱的所有公共屬性)。