json_decode遇到的编码问题

初入csdn,就最近遇到的简单问题做一个功能解释;
json_encode和json_decode只针对utf8字符有效,如果遇到其他编码比如gbk,需要进行转码然后解析;

header("Content-type: text/html; charset=gbk");
 $arr = array( 'a' => 'hello world', 'b' => '你好' );
 foreach($arr as $v){ 
//iconv()函数是指: 字符串按要求的字符编码来转换;
 //string iconv ( string $in_charset , string $out_charset , string $str ); //iconv函数是把$str从$in_charset字符输出$_out_charset字符; 
//成功返回;失败返回false;
 $v = iconv('GBK','UTF-8',$v);
 } 
$json = json_encode($arr); 
//json函数只支持utf-8的字符串
 $jsonArr = json_decode($json,true);

 

posted @ 2019-01-15 17:32  码农编程进阶笔记  阅读(33)  评论(0编辑  收藏  举报
返回顶部 有事您Q我