確保PHP 的json_encode 輸出中的非ASCII 字元採用UTF-8 編碼
儘管努力透過mb_internal_encoding 和啟用編碼,json_encode 繼續在產生的JSON 字串中傳回Unicode 轉義字元。這個問題可以用多種方法解決。
PHP 5.4 中的 JSON_UNESCAPED_UNICODE 選項
如果使用 PHP 5.4 或更高版本,請在調用 json_encode 時利用 JSON_UNESED_UNICODE CAP選項。此選項明確停用 Unicode 轉義,從而導致預期的輸出:{"a":"á"}。
具有非 ASCII 支援的自訂 JSON 編碼器
For早期的 PHP 版本建立一個不轉義非 ASCII 字元的自訂 JSON 編碼器。這種方法可確保 JSON 字串準確地表示原始輸入。
Pear 的 JSON 編碼器修改
另一個解決方案包括透過刪除第 349 至 433 行來修改 Pear 的 JSON 編碼器。此變更有效地停用了編碼器內的 Unicode 轉義,從而產生所需的輸出。
結論
這些技術提供了輸出 UTF-8 編碼的 JSON 字串的可行方法,從而使準確表示非 ASCII 字符,無需 Unicode 轉義。
以上是以下是一些適合您文章的基於問題的標題: * 為什麼 json_encode 仍然在我的 PHP 輸出中轉義非 ASCII 字元? * 如何確保 PHP 的 json_encode 輸出為 UTF-8 編碼的詳細內容。更多資訊請關注PHP中文網其他相關文章!