在PHP中显示中文格式的JSON出现乱码如何解决

介绍

今天就跟大家聊聊有关在PHP中显示中文格式的JSON出现乱码如何解决,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。

PHP有什么用

PHP是一个嵌套的缩写名称,是英文超级文本预处理语言,它的语法混合了C、Java、Perl以及PHP自创新的语法,主要用来做网站开发,许多小型网站都用PHP开发,因为PHP是开源的,从而使PHP经得久不衰。

<强>解决方法一:

代码如下:


& lt; ?php
函数通知(){
,,,包括& # 39;。/include/conn.php& # 39;,,//数据库链接文件
,,,$ sql_notice=mysql_query (& # 39; SELECT * FROM gg_notice启用=?”;极限0,10 & # 39;);
,,,(注意=mysql_fetch_array美元sql_notice MYSQL_ASSOC);
,,,美元$ str=json_encode(注意);
,,,//linux
,,,返回preg_replace (“# \ \ \ u ([0-9a-f] {4}) # ie",“iconv (& # 39; UCS-2BE& # 39; & # 39; utf - 8 # 39;,包(& # 39;h4 # 39; & # 39; \ \ 1 & # 39;))“, str美元);
,,,//窗口
,,,//返回preg_replace (“# \ \ \ u ([0-9a-f] {4}) # ie",“iconv (& # 39; UCS-2LE& # 39; & # 39; utf - 8 # 39;,包(& # 39;h4 # 39; & # 39; \ \ 1 & # 39;))“, str美元);
,,,
}
?在

<强>另外从网上搜索到的其他方法

代码如下:


& lt; ? php
/* *
, * json生成,分析支持中文
, */
类Json_Helper {
,,,/* *
,,,,*生成json
,,,,*/
,,,公共静态函数编码(str) {
,,,,,,,美元$ json=json_encode (str);
,,,,,,,//linux
,,,,,,,返回preg_replace (“# \ \ \ u ([0-9a-f] {4}) # ie",“iconv (& # 39; UCS-2BE& # 39; & # 39; utf - 8 # 39;,包(& # 39;h4 # 39; & # 39; \ \ 1 & # 39;))“, json)美元;
,,,,,,,//窗口
,,,,,,,//返回preg_replace (“# \ \ \ u ([0-9a-f] {4}) # ie",“iconv (& # 39; UCS-2LE& # 39; & # 39; utf - 8 # 39;,包(& # 39;h4 # 39; & # 39; \ \ 1 & # 39;))“, json)美元;
,,,}

,,,/* *
,,,,*分析json
,,,,*/
,,,公共静态函数解码(str) {
,,,,,,,返回json_decode (str)美元;
,,,}
}
?在

<强>这是从网上搜索得到的又一篇相关文章

当使用php自带的json_encode对数据进行编码时,中文都会变成unicode,导致不可读。如:对字符串“厦门”进行json_encode后,输出的是“\ u53a6 \ u95e8"。

查询了一下,有两种方法:
1。将“\ u53a6 \ u95e8"还原成“厦门”,使用如下的代码:

代码如下:


$ str=preg_replace (“# \ \ \ u ([0-9a-f] +) # ie",“iconv (& # 39; ucs - 2 # 39; & # 39; utf - 8 # 39;,包(& # 39;h4 # 39; & # 39; \ \ 1 & # 39;))“, str美元);

2。先将中文字段urlencode, json_encode后,再用urldecode,也可以显示中文。

代码如下:


$代码=urldecode (json_encode (urlencode(“厦门“))),

PHP5.4版本,已经给Json新增了一个选项:JSON_UNESCAPED_UNICODE。加上这个选项后,就不会自动把中文编码了。

代码如下:


回声json_encode(“厦门“,JSON_UNESCAPED_UNICODE);


另,由于json_encode和json_decode只支持utf - 8编码的字符,GBK的字符要用Json就得转换一下,附自己写的GBK转utf - 8的代码:

代码如下:


/*
,,,字符串GBK转码为utf - 8,数字转换为数字。
/
函数ct2 ($ s) {
,,,如果(is_numeric (s)) {
,,,,,,,返回intval中(s)美元;
,,,其他}{
,,,,,,,返回iconv (“GBK",“UTF-8",年代美元);
,,,}
}
/*
,,,批量处理gbk→utf - 8 *
/
函数icon_to_utf8 ($ s) {

,如果(is_array ($ s)) {
,,,foreach(年代美元键=比;$ val) {
,,,,,$ s [$ key]=icon_to_utf8 (val);
,,,}
,其他}{
,,,,,s=ct2美元($ s);
,}
,返回$ s;

}

回声json_encode (icon_to_utf8(“厦门“));

看完上述内容,你们对在PHP中显示中文格式的JSON出现乱码如何解决有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注行业资讯频道,感谢大家的支持。

在PHP中显示中文格式的JSON出现乱码如何解决