本文讲述了PHP的Json中文处理解决方案。分享给大家供大家参考,具体如下:
Json是现在被广泛使用的用于传递字符串的格式,相比xml更显得简单易懂以及更方便操作,php下就俩个函数,json_encode() AND json_deconde()。不过json对中文的支持并不是很好,如果使用json_encode()处理如数组,数组中若存在中文,则会作空白处理。
解决中文的一种方法就是先将中文转换为另一种编码格式,然后再使用json_encode(),最后再用解码把json串进行解码。还有一种方式就在php新版本中得到了解决,在下面的代码为展示。
以下为代码示例
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
<?php
header( "Content-type:text/html;charset=utf-8" );
$arrayName = array ( 'city' => '广东' , 'goods' => 'cookies' );
$arr = json_encode( $arrayName );
echo $arr . "</br>" ;
var_dump(json_decode( $arr ));
echo "</br>" ;
echo urldecode(json_encode(ch_json( $arrayName ))). "</br>" ;
/*
需要php版本在5.4以上
echo json_encode($arrayName,JSON_UNESCAPED_UNICODE);
*/
function ch_json( $arr ){
if ( is_array ( $arr )){
foreach ( $arr as $key => $value ) {
$arr [urlencode( $key )] = ch_json( $value );
}
} else {
return urlencode( $arr );
}
return $arr ;
}
?>
|
希望本文所述对大家PHP程序设计有所帮助。