返回中文显示JSON数据的问题

在文章的最后,中国,返回JSON格式显示为 u5723 u8bde u8282 u5343 u4e07 u597d u793c u9001 u5949 u5927

解决方案之一:

复制代码代码如下所示:

< PHP

函数通知(){

包括。 /包括/ conn.php '; / /数据库链接文件

sql_notice美元= mysql_query('select * gg_notice哪里使=1、限制);

通知= mysql_fetch_array美元(美元sql_notice,mysql_assoc);

$str = json_encode($通知);

Linux

返回preg_replace(# U({ 0-9a-f } { 4 })# IE

窗口

/ /返回preg_replace(# U({ 0-9a-f } { 4 })# IE



}

>



其他在线搜索方式

复制代码代码如下所示:

< PHP



* JSON生成,中文支持分析

* /

类json_helper {



*生成JSON

* /

公共静态函数编码($ STR){

JSON = json_encode美元($str);

Linux

返回preg_replace(# U({ 0-9a-f } { 4 })# IE

窗口

/ /返回preg_replace(# U({ 0-9a-f } { 4 })# IE

}



*JSON分析

* /

公共静态函数解码($ STR){

返回json_decode($str);

}

}

>



这是互联网上的另一篇文章。

当使用PHP自身的json_encode编码数据,中国将成为Unicode,导致无法读取。例如:在厦门json_encode字符串,输出的是 u53a6 u95e8 。

看一看,有两种方法:

1。恢复 u53a6 u95e8 到厦门,使用下面的代码:

复制代码代码如下所示:

$str = preg_replace(# U({ 0-9a-f } +)# IE



2。第一,中国的URLEncode,json_encode,然后URLDecode,还可以显示中文。

复制代码代码如下所示:

为代码= URLDecode(json_encode(URLEncode(厦门))))



的php5.4版本增加了一个选项,该选项json_unescaped_unicode.with JSON,中国不会自动编码。

复制代码代码如下所示:

回声json_encode(厦门



此外,因为json_encode和json_decode只支持UTF-8编码的字符,GBK的字符需要转化为JSON,并编码为UTF-8 GBK写自己附。

复制代码代码如下所示:

*

字符串GBK转码为UTF-8,和数字转换为数字。

* /

功能CT2(美元的){

如果(is_numeric(美元的)){

返回intval(美元的);

{人}

返回iconv(GBK

}

}

*

批处理GBK -> UTF-8

* /

功能icon_to_utf8(美元的){

如果(is_array(美元的)){

foreach(美元美元美元的关键= val){

美元美元的关键} = { icon_to_utf8(美元值);

}

{人}

$ S = CT2(美元的);

}

返回$;

}

回声json_encode(icon_to_utf8(厦门));