在PHP 中處理UTF-8 字串:json_encode 和JSON_UNESCAPED_UNICODE
在涉及多語言內容的PHP.行為可能會引發問題。據觀察,Unicode 字元經常以十六進位實體結束。
範例:
輸入: echo $text;
輸出: "Баиа дани 🎜 к🎜> 🎜>
輸入: json_encode($text);
輸出: "u0411u0430u0437u0430 u0434u0430043u 43au0430。 >
解決方案:JSON_UNESCAPED_UNICODE
在 PHP 5.4.0 中引入,JSON_UNESCAPED_UNICODE 標誌可讓您繞過此轉換。指定後,它指示 json_encode 直接輸出 UTF-8 字元。用法:
使用此標誌,輸出將保持其原始Unicode 字元編碼:
透過使用JSON_U字元編碼:<code class="php">json_encode($text, JSON_UNESCAPED_UNICODE);</code>透過使用JSON_UNESNESig_UICODE 標誌,標誌您可以在JSON 輸出中保留原始Unicode 字元。這在處理多語言內容或與需要真正 Unicode 支援的系統整合時特別有用。
<code class="php">\u0411\u0430\u0437\u0430 \u0434\u0430\u043d\u043d\u0438 \u0433\u0440\u0435\u0448\u043a\u0430.</code>
以上是在 PHP 中使用 json_encode 時,如何防止 Unicode 字元被編碼為十六進位實體?的詳細內容。更多資訊請關注PHP中文網其他相關文章!