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);

你可能感兴趣的:(php)