php输出json中文乱码,Json中文乱码,该怎么解决?

用户投稿 127 0

关于“php_json_输出乱码”的问题,小编就整理了【2】个相关介绍“php_json_输出乱码”的解答:

Json中文乱码,该怎么解决?

解决方法:

1、把所有的中文转为UTF-8编码(本身是utf8的话无须转)

$data="JSON中文";

$newData=iconv("GB2312","UTF-8//IGNORE",$data);

2、把中文的urlencode一下

$testJSON=array('name'=>'中文字符串','value'=>'test');

//echo json_encode($testJSON);

foreach ( $testJSON as $key => $value ) {

$testJSON[$key] = urlencode ( $value );

}

3、然后json_encode之后再urldecode一下转回来

$test_json_str = json_encode ($testJSON )

echo urldecode ($test_json_str);

查看输出结果为:

{“name”:”中文字符串”,”value”:”test”}

这样可以很好的解决中文JSON乱码问题。

网站后台乱码了,怎么办?

刚开始学习PHP同学,在写项目的时候因为经验不足,会出现乱码的情况,乱码的情况有很多种:

1、PHP文件输出时出现乱码

php文件本身的编码一定要与网页的编码相匹配

如果使用gb2312编码

那么php要输出头:header(“Content-Type: text/html; charset=gb2312")

静态页面添加

如果使用utf-8编码

那么php要输出头:header(“Content-Type: text/html; charset=utf-8")

静态页面添加

2.PHP

与My SQL数据交互出现乱码

PHP要与数据库的编码一致

在需要做数据库操作的php程序前加mysql_query("set names '编码'");编码和php编码一致

如果php编码是gb2312那mysql编码就是gb2312

写法:

mysql_query("set names 'GBK'");

如果是utf-8那mysql编码就是 utf-8

到此,以上就是小编对于“php_json_输出乱码”的问题就介绍到这了,希望介绍关于“php_json_输出乱码”的【2】点解答对大家有用。

抱歉,评论功能暂时关闭!