PHP解決serialize函數中文亂碼問題的方法:將序列化后包含中文的字符串再進行一次“base64_encode”編碼,編碼后可以將特殊字符進行轉義,并將中文字符傳送到客戶端。
php中怎么解決serialize函數中文亂碼的問題
serialize() 函數用于序列化對象或數組,并返回一個字符串。
serialize() 函數序列化對象后,可以很方便的將它傳遞給其他需要它的地方,且其類型和結構不會改變。
語法為:
string serialize ( mixed $value )
參數說明:
$value: 要序列化的對象或數組。
相信大家在運用serialize對中文的編碼的時候都會遇到過中文不可解析的問題。尤其是在將序列化后的中文字符串傳送到客戶端的時候,那應該如何解決這個問題呢?
其實很容易,將序列化后的包含中文的字符串再進行一次base64_encode的編碼,這樣就能夠將特殊字符進行轉移。將中文字符傳送到客戶端了。
示例如下:
<?php $sites = array('Google', 'Runoob', 'Facebook'); $serialized_data = serialize($sites); echo $serialized_data . PHP_EOL; ?>
輸出結果: