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ù)用于序列化對(duì)象或數(shù)組,并返回一個(gè)字符串。
serialize() 函數(shù)序列化對(duì)象后,可以很方便的將它傳遞給其他需要它的地方,且其類型和結(jié)構(gòu)不會(huì)改變。
語(yǔ)法為:
string serialize ( mixed $value )
參數(shù)說明:
$value: 要序列化的對(duì)象或數(shù)組。
相信大家在運(yùn)用serialize對(duì)中文的編碼的時(shí)候都會(huì)遇到過中文不可解析的問題。尤其是在將序列化后的中文字符串傳送到客戶端的時(shí)候,那應(yīng)該如何解決這個(gè)問題呢?
其實(shí)很容易,將序列化后的包含中文的字符串再進(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視頻教程》