关于“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. 页面声明的编码 与 数据库内部编码 一致比如: 你的网页里设置 charset = gb2312,然而,你的数据库使用utf-8,那么,如果不进行iconv转换的话,显示出来可能就有问题。
2. 页面文件的编码 与 页面声明的编码 一致比如,你的网页文件为 test.php,该文件用 UTF-8B 格式保存,而如果你的网页里设置 charset = gb2312,那么可能显示也不正常。 从你的问题描述来看,“PHP中非数据库导出的部分 其中文显示正常 ”,据此可以确定页面文件编码与页面声明编码一致,那么,问题原因就在于:页面声明的编码 与 数据库内部编码 不一致造成的。你可以查看下,你的 数据库编码格式 与 网页定义的编码。
到此,以上就是小编对于“php_json中文乱码”的问题就介绍到这了,希望介绍关于“php_json中文乱码”的【2】点解答对大家有用。