天天躁日日躁狠狠躁AV麻豆-天天躁人人躁人人躁狂躁-天天澡夜夜澡人人澡-天天影视香色欲综合网-国产成人女人在线视频观看-国产成人女人视频在线观看

php數組編碼轉換示例詳解

因為一些特殊字符的顯示效果的原因不得不把習慣的utf-8工程改成了GBK,由于使用了ajax技術,又涉及到了老問題――編碼轉換。一些表單驗證需要返回json數據,php的json_encode函數只支持utf-8編碼,無奈只得iconv了,需要達到的效果是GBK數組轉換成utf-8數組傳給json_encode函數。

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

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

得到的結果是空白,后來想起來配置文件里設置了默認編碼 ini_set('default_charset', 'gbk');   這樣用gbk反序列化utf-8的字符串肯定不好用了,此處在序列化和反序列化之間加個ini_set('default_charset', 'utf-8'); 應該也是可以的,但這么弄總覺得有點別扭,因為是全局的編碼設置,很容易導致其他地方的編碼問題,比如數據庫操作。那么換個思路,用構建數組原型的序列化方法,借助var_export函數,最終函數如下:

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

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

后續:后來在網上搜了下資料,看有沒有更好的方法,找到的都大同小異,都是利用遞歸調用iconv的方式,如果數組元素過多或者維數多一些,性能上肯定不怎么樣了,更好的是原生代碼的方式,不需要考慮是N維數組還是關聯數組,一切都已經自動完成,保證數組轉換前后數據一致。從代碼的長短以及循環和原生方法的比較上,相信大家已經有了選擇。

php技術php數組編碼轉換示例詳解,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 成人综合在线视频免费观看完整版 | 偷窥 亚洲 色 国产 日韩 | 男助理憋尿PLAY灌尿BL出去 | 曰本少妇高潮久久久久久 | 久久这里只有精品视频e | 亚洲国产成人99精品激情在线 | 亚洲色欲色欲综合网站 | 日本理论片和搜子同居的日子2 | 午夜日韩久久影院 | 神马伦理2019影院不卡片 | www.日本 高清.com | 国产精品线路一线路二 | 全彩无翼污之邪恶女教师 | 亚洲国产成人私人影院 | 久久精品国产免费播放 | 爱情岛论坛网亚洲品质 | 女性露出奶头流出精子 | 91在线青春娱乐精品分类 | 国产av在在免费线观看美女 | 国产又粗又猛又爽又黄的免费视频 | 亚洲AV中文字幕无码久久 | 青青青久久久 | CHINSEFUCKGAY无套| 国语对白嫖老妇胖老太 | 美女被爆羞羞天美传媒 | 亚州精品视频 | 琪琪色在线播放 | 国产午夜精品一区二区三区 | 欧美人成人亚洲专区中文字幕 | 阿离被扒开双腿疯狂输出 | 国产女人乱人伦精品一区二区 | 永久免费无码AV国产网站 | 全黄h全肉细节文在线观看 全黄H全肉细节文短篇 | 日本2021免费一二三四区 | 国产精品av免费观看 | 美目盼兮amy198281 | 精品久久久久久久久免费影院 | 最新国自产拍 高清完整版 最新国产在线视频在线 | 男女久久久国产一区二区三区 | 男女交性视频无遮挡全过程 | 色欲AV人妻精品麻豆AV |