json字符串无法解析的问题
回复讨论(解决方案)
那就是你json_encode输出那块没写好 有没有声明 header('Content-type:application/json;charset=utf-8');
应该是 BOM 头的影响
$result = trim($result, "\xEF\xBB\xBF");
只是去除了 $result 中的 BOM
并没有去除你 php 程序文件的 BOM
建一新程序
echo bin2hex(file_get_contents('http://yourhost/api.php'));j执行后就可看到是否有 BOM
应该是 BOM 头的影响
$result = trim($result, "\xEF\xBB\xBF");
只是去除了 $result 中的 BOM
并没有去除你 php 程序文件的 BOM
建一新程序
echo bin2hex(file_get_contents('http://yourhost/api.php'));j执行后就可看到是否有 BOM
应该是 BOM 头的影响
$result = trim($result, "\xEF\xBB\xBF");
只是去除了 $result 中的 BOM
并没有去除你 php 程序文件的 BOM
建一新程序
echo bin2hex(file_get_contents('http://yourhost/api.php'));j执行后就可看到是否有 BOM
应该是 BOM 头的影响
$result = trim($result, "\xEF\xBB\xBF");
只是去除了 $result 中的 BOM
并没有去除你 php 程序文件的 BOM
建一新程序
echo bin2hex(file_get_contents('http://yourhost/api.php'));j执行后就可看到是否有 BOM
可以看到有这些输出 前端有这些输出
2020efbbbf7b22737461747573223a302c226d657373616765223a225c75396138635c7538626
那应该怎么去掉文件里bom头呢
前面的 2020efbbbf
2020 表示有两个空格
efbbbf 不就是 bom 吗?
应该是 BOM 头的影响
$result = trim($result, "\xEF\xBB\xBF");
只是去除了 $result 中的 BOM
并没有去除你 php 程序文件的 BOM
建一新程序
echo bin2hex(file_get_contents('http://yourhost/api.php'));j执行后就可看到是否有 BOM 谢谢版主的热心回答,问题终于解决了 把所有相关文件都查了下 找到了包含bom头的文件 重新编辑了一下 可以解析json 了
notepad++可以将文件转为无BOM格式
可以看下这篇日志:http://my.oschina.net/rain21/blog/384549
notepad++可以将文件转为无BOM格式
可以看下这篇日志:http://my.oschina.net/rain21/blog/384549