今天試著用 Laravel Curl 套件去抓取客戶端的 API Json 資料,結果發現抓到的資料竟然都是空的,可是明明下載回來的檔案很正常啊? Why! Why! Why! 滿頭黑人問號!

黑人問號- 相簿- 我的學習歷程

結果發現兩個問題:

  1. 檔案裡面竟然有換行符號。(問題出在原始程式碼檔案裏面結構如下: 一個程式頁面用了兩個 <?php 導致空白行也被 echo 出去)
<?php include('載入檔案'); ?>

<?php
    程式碼1;
    資料;
    echo json_encode(資料);
?>
  1. 原始php程式的檔案格式竟然是 utf8 BOM。

JSON 的解碼資料必須是 UTF8 若是其他的格式都將無法解碼。將檔案格式改回 UTF8 後就可以正確解出資料。

最後修改日期: 2020 年 10 月 10 日