合併「特殊」Unicode 字元時,它們在編碼為JSON 後通常會出現扭曲:
理解為什麼會發生這種情況是至關重要。
JSON 編碼標準
JSON 編碼利用 ECMAScript(以前稱為 JavaScript)字串文字形成(第 7.8.4 節)。它允許將字元表示為以“u”為前綴的十六進制數字,後跟代表代碼點的四個十六進制數字:
此表示與字串文字“馬”相同,傳達相同的Unicode由相容的JSON 解析器解析時的字元。
PHP 的 JSON 編碼首選項
PHP 的 json_encode 函數通常使用「u...」轉義序列對非 ASCII 字元進行編碼。雖然這是可選的,但它會產生有效的 JSON。
自訂編碼
如果需要,PHP 5.4 中引入的JSON_UNESCAPED_UNICODE 標誌允許文字字元編碼:
需要注意的是,這種自訂是一種偏好,而不是傳輸的必要條件JSON 中的Unicode 字元。
以上是為什麼特殊的Unicode字元在JSON編碼後會出現扭曲?的詳細內容。更多資訊請關注PHP中文網其他相關文章!