php将json中的unicode编码转为汉字的两种方法

标签: phpunicodejson汉字   时间:2016-11-03
用PHP的json_encode来处理中文的时候, 中文都会被编码, 变成不可读的, 类似”\u***”的格式,如果我们需要显示为汉字,改如何解决呢?本文章向大家介绍php将json中的unicode编码转为汉字的两种方法,需要的朋友可以参考一下。

方法一:

<?php
header("Content-type: text/html; charset=utf-8");
$arr=array('manong','码农教程  http://www.manongjc.com ');
$str=json_encode($arr);
echo preg_replace("#\\\u([0-9a-f]{4})#ie", "iconv('UCS-2BE', 'UTF-8', pack('H4', '\\1'))", $str);
?>

注意:这里最好加上header("Content-type: text/html; charset=utf-8");

 

方法二:

把汉字先urlencode然后再使用json_encode,json_encode之后再次使用urldecode来解码,这样编码出来的json数组中的汉字就不会出现unicode编码了。

<?php 
$array = array(
'test'=>urlencode("我是码农教程  http://www.manongjc.com/article/1581.html ")
);
$array = json_encode($array);
echo urldecode($array);

?>

原文地址:http://www.manongjc.com/article/1581.html

分享到