」工欲善其事,必先利其器。「—孔子《論語.錄靈公》
首頁 > 程式設計 > 如何使用 PHP 的 json_encode() 函數正確編碼 JSON 中的特殊字元?

如何使用 PHP 的 json_encode() 函數正確編碼 JSON 中的特殊字元?

發佈於2024-11-17
瀏覽:165

How to Correctly Encode Special Characters in JSON with PHP\'s json_encode() Function?

JSON 編碼與特殊字元

使用json_encode() 函數對陣列進行編碼時,可能會發生包含特殊字元的元素被轉換為空字串。對於版權或商標符號等字符,此行為尤其明顯。

要解決此問題,請確保所有字串資料都經過 UTF-8 編碼,然後再將其編碼為 JSON。這可以透過將 array_map() 與 utf8_encode() 函數結合使用來實現:

$arr = array_map('utf8_encode', $arr);
$json = json_encode($arr);

如 PHP 手冊所述,json_encode() 要求所有字串資料都採用 UTF-8 編碼。透過在 JSON 編碼之前將陣列元素編碼為 UTF-8,我們可以確保在 JSON 輸出中正確表示特殊字元。

為了清楚起見,讓我們比較使用和不使用UTF-8 編碼數組的結果編碼:

無UTF-8 編碼:

$arr = ["funds" => "ComStage STOXX®Europe 600 Techn NR ETF"];
$json = json_encode($arr); // {"funds":null}

使用UTF-8 編碼:

$arr = array_map('utf8_encode', ["funds" => "ComStage STOXX®Europe 600 Techn NR ETF"]);
$json = json_encode($arr); // {"funds":"ComStage STOXX\u00c2\u00aeEurope 600 Techn NR ETF"}

透過應用UTF-8 編碼,特殊字元可以在JSON 輸出中正確表示。請記住一致使用 utf8_encode() 以獲得正確的編碼。

版本聲明 本文轉載於:1729242557如有侵犯,請洽[email protected]刪除
最新教學 更多>

免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。

Copyright© 2022 湘ICP备2022001581号-3