四虎精品视频-四虎精品成人免费网站-四虎黄色网-四虎国产视频-国产免费91-国产蜜臀97一区二区三区

php數(shù)組編碼轉(zhuǎn)換示例詳解

因?yàn)橐恍┨厥庾址娘@示效果的原因不得不把習(xí)慣的utf-8工程改成了GBK,由于使用了ajax技術(shù),又涉及到了老問題――編碼轉(zhuǎn)換。一些表單驗(yàn)證需要返回json數(shù)據(jù),php的json_encode函數(shù)只支持utf-8編碼,無(wú)奈只得iconv了,需要達(dá)到的效果是GBK數(shù)組轉(zhuǎn)換成utf-8數(shù)組傳給json_encode函數(shù)。

最開始的思路,將數(shù)組序列化后用iconv函數(shù)轉(zhuǎn)換編碼,之后再反序列化,代碼如下:

復(fù)制代碼 代碼如下:
unserialize(iconv('gbk','utf-8',serialize($array))); 

得到的結(jié)果是空白,后來(lái)想起來(lái)配置文件里設(shè)置了默認(rèn)編碼 ini_set('default_charset', 'gbk');   這樣用gbk反序列化utf-8的字符串肯定不好用了,此處在序列化和反序列化之間加個(gè)ini_set('default_charset', 'utf-8'); 應(yīng)該也是可以的,但這么弄總覺得有點(diǎn)別扭,因?yàn)槭侨值木幋a設(shè)置,很容易導(dǎo)致其他地方的編碼問題,比如數(shù)據(jù)庫(kù)操作。那么換個(gè)思路,用構(gòu)建數(shù)組原型的序列化方法,借助var_export函數(shù),最終函數(shù)如下:

復(fù)制代碼 代碼如下:
function array_iconv($in_charset,$out_charset,$arr){ 
        return eval('return '.iconv($in_charset,$out_charset,var_export($arr,true).';')); 
}

原理很簡(jiǎn)單 var_export設(shè)置第二個(gè)參數(shù)為true,返回?cái)?shù)組原型字符串,將字符串轉(zhuǎn)換為utf-8編碼,之后再用eval來(lái)執(zhí)行返回(類似匿名函數(shù)?),至此完美解決問題。

后續(xù):后來(lái)在網(wǎng)上搜了下資料,看有沒有更好的方法,找到的都大同小異,都是利用遞歸調(diào)用iconv的方式,如果數(shù)組元素過多或者維數(shù)多一些,性能上肯定不怎么樣了,更好的是原生代碼的方式,不需要考慮是N維數(shù)組還是關(guān)聯(lián)數(shù)組,一切都已經(jīng)自動(dòng)完成,保證數(shù)組轉(zhuǎn)換前后數(shù)據(jù)一致。從代碼的長(zhǎng)短以及循環(huán)和原生方法的比較上,相信大家已經(jīng)有了選擇。

php技術(shù)php數(shù)組編碼轉(zhuǎn)換示例詳解,轉(zhuǎn)載需保留來(lái)源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 《魔》| 冷门森系ins冷淡风壁纸| 黄视频免费观看网站| 迈克尔·j·福克斯| 清宫表2025怀孕月份看男女| 大场久美子| 樱井步| 朱莉与朱莉娅| 进击的巨人最终篇| 金瓶儿| midjourney中文版| 周韦彤写真| 尤勇个人资料简介简历| 成人的性行为免费| 穆丹| 妥协电影在线观看完整版中文| 黄真伊| deaf dj课文翻译| 奇米7777欧美日韩免费视频| 变性手术男变女能怀孕吗| 麦兆辉| 小猪佩奇免费版中文第三季| 我,喜欢你演员表介绍| 2025小升初真题卷英语| 扫毒3:人在天涯 电影| 东方卫视节目表| 洛可希佛帝的全部电影| 俺去也电影网| 诈欺游戏电影| 打开双腿扒开打屁股羞辱惩罚视频| 失落之城电影| 六年级五单元作文| 老江湖| 小学智力测试题100题| 铁拳男人 电影| 老阿姨电视剧免费观看| abo血型鉴定实验报告| 寡妇激情毛片免费视频| 欲望之城电影| 奶奶的星星| 男微信头像|