对数组内容使用了json_encode返回汉字内容返回了空值

如果使用json_encode对数组进行转成JSON字符串时候,发现汉字的全部为空,这样可以说明的一点是你的页面上用的一定不是UTF8编码,在PHP手册中对json_encode中待编码的值已经说明所有字符串的编码必须是UTF-8;

所以如果你的页面不是UTF-8编码的话,就需要将你的数组内容转码,具体怎么转码?下面例如你的页面是使用GBK编码的:

function Gbk2Utf8($data){
	if(is_array($data)){
		foreach($data as $key => $value){
			$data[$key]=call_user_func(__FUNCTION__,$value);
		}
		return $data;
	}
	return iconv("gbk","utf-8",$data);
}

 

posted @ 2017-11-04 17:24  ALonely  阅读(676)  评论(0编辑  收藏  举报