PHP解決serialize函數(shù)中文亂碼問題的方法:將序列化后包含中文的字符串再進(jìn)行一次“base64_encode”編碼,編碼后可以將特殊字符進(jìn)行轉(zhuǎn)義,并將中文字符傳送到客戶端。
本文操作環(huán)境:Windows10系統(tǒng)、PHP7.1版、Dell G3電腦。
php中怎么解決serialize函數(shù)中文亂碼的問題
serialize() 函數(shù)用于序列化對象或數(shù)組,并返回一個字符串。
serialize() 函數(shù)序列化對象后,可以很方便的將它傳遞給其他需要它的地方,且其類型和結(jié)構(gòu)不會改變。
語法為:
string serialize ( mixed $value )
參數(shù)說明:
$value: 要序列化的對象或數(shù)組。
相信大家在運用serialize對中文的編碼的時候都會遇到過中文不可解析的問題。尤其是在將序列化后的中文字符串傳送到客戶端的時候,那應(yīng)該如何解決這個問題呢?
其實很容易,將序列化后的包含中文的字符串再進(jìn)行一次base64_encode的編碼,這樣就能夠?qū)⑻厥庾址M(jìn)行轉(zhuǎn)移。將中文字符傳送到客戶端了。
示例如下:
<?php $sites = array('Google', 'Runoob', 'Facebook'); $serialized_data = serialize($sites); echo $serialized_data . PHP_EOL; ?>
輸出結(jié)果:
推薦學(xué)習(xí):《PHP視頻教程》