在使用 PHP 進行非同步資料呼叫時,可能會遇到「由於出現錯誤 c00ce56e 而導致此項操作無法完成」的錯誤訊息。這通常是因為未正確指定輸出編碼格式所導致。
伺服器回應的內容編碼與 PHP 腳本預期的編碼不一致,導致解析失敗。特別是在處理 XML 或 JSON 資料時最為常見。
在腳本最開頭加入 HTTP 標頭宣告,明確指定輸出編碼為 UTF-8:
header("content-type:text/html; charset=UTF-8");
<?php
header("content-type:text/html; charset=UTF-8");
// 後續的非同步呼叫程式碼...
$response = file_get_contents('https://api.example.com/data');
$data = json_decode($response, true);
// 處理資料...
?>
iconv() 或 mb_convert_encoding() 轉換