Re: [請益] JSON編碼"{"編碼有問題

作者: wild0921 (我要幸福)   2014-10-27 13:13:06
※ 引述《wild0921 (我要幸福)》之銘言:
: ※ 引述《wild0921 (我要幸福)》之銘言:
: : 想要請問各位PHP大人,
: : 我日前建立一個webservice, 發生一個問題,
: : 我試用php 5.3.2 版本
: : 建立一個array 用json_encode 產生 json string
: : 讓其它網頁去接,
: : echo 出來 畫面看起來是對的, 但是用json_decode 卻發生問題,
: : 檢查發現主要原因, 是json string 一開始的 "{" 編碼有問題, 造成無法轉變成Object,
: : 但我在webservice 那一頁自己 json_encode 再 json_decode 卻可以轉成Object
: : 想要請問一下, 有沒有人碰過這種問題, 是用什麼方法解決?
: : 感謝......
: 有用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
以上
作者: hit1205 (幫你把勇氣裝滿)   2014-10-27 13:36:00
你貼的字串開頭有個 %EF%BB%BF 字元 (就是 BOM)
作者: wild0921 (我要幸福)   2014-10-27 14:01:00
不好意思, 可以分享一下是怎樣檢查出來的嗎?因為我選擇的檔案上面是顯示無bom開頭

Links booklink

Contact Us: admin [ a t ] ucptt.com