Re: [请益] JSON编码"{"编码有问题

楼主: shadowjohn (转角遇到爱)   2014-10-27 17:28:44
※ 引述《wild0921 (我要幸福)》之铭言:
: ※ 引述《wild0921 (我要幸福)》之铭言:
: : 有用nodepad++检查过, 档案是utf-8 无Bom档头
: : 产json那一个档案也是utf-8 无Bom档头
: : A.php 网页内容(捞json的网页):
: : $ch = curl_init();
: : curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
: : curl_setopt($ch, CURLOPT_URL, $str_url);
: : curl_setopt($ch, CURLOPT_POST, true); // 启用POST
: : curl_setopt($ch, CURLOPT_POSTFIELDS, $_GET);
: : curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);
: : curl_setopt($ch, CURLOPT_USERPWD, '帐号:密码');
: : curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
: : curl_setopt($ch, CURLOPT_ENCODING, 'UTF-8');
: : $output = curl_exec($ch);
: : B.php 网页内容(产json string 的网页)
: : die(json_encode($array));
: : A.php的部分code是我用curl捞资料的方式,
: : 不过那边json_decode($output); dump 出来是null,
: : 检查之后 原因是json格式有问题,
: : 我把所有程式码, 产新的档案在重新上传,
: : 有改善的是在B.php 那一页dump出来, string检查结果格式是 通过 的
: : 但是在A.php var_dump($output); 贴到检查json网页
: : 格式就会错误, 死在第一个大括号
: : 所以想要请问有没有人遇到过一样的状况, 然后提供一下解决方法?
: json_string:贴不上去, 所以给网址
: http://wildhuang.blogspot.tw/p/jsonstring.html
: 我用来检查json string的网址:
: http://www.freeformatter.com/json-formatter.html
: 以上
function removeBOM($str=""){
if(substr($str, 0,3) == pack("CCC",0xef,0xbb,0xbf)) {
$str=substr($str, 3);
}
return $str;
}
反正你正 json 先 removeBOM 再试看看 decode :)
作者: noxhsu (通りすがりの食いしん坊)   2014-10-27 20:01:00
推 很多编辑器用UTF8默认就是有BOM且UN*X下就是会抓但就是在Win环境下会习惯忘掉移掉使得输出前会有一个空字
作者: wild0921 (我要幸福)   2014-10-27 21:56:00
我用notepad++,一开始就设定utf-8 无bom只是不知道为什么还是会有bom, 可能是我没有注意....

Links booklink

Contact Us: admin [ a t ] ucptt.com