JSON_UNESCAPED_UNICODE的作用與理解


背景

在使用json_encode轉換的時候,默認情況下中文會轉換成 \u*** 的格式, 不僅不可讀,還會在一定程度上增加傳輸的數據量.

<?php
echo json_encode("中文");
//"\u4e2d\u6587"

在PHP5.4, 這個問題得以解決, Json新增了一個選項: JSON_UNESCAPED_UNICODE,加上之后就可以正確輸出中文。
詳見鳥哥的文章,讓Json更懂中文

總結

對這個選項的作用和用法都沒有歧義,有點不同的是對這個組合詞 JSON_UNESCAPED_UNICODE 的理解,鳥哥文章中說是"顧名思義,不要編碼Unicode",實際上這里的意思並不明顯,escape是避開,避免的意思,前面加上 un 表示否定,是不要避開不要避免,應該是說把Unicode當成本身處理,不要避開Unicode這種字符或格式,即承認它,再結合官網對這個選項的解釋,(逐個字符的編碼多字節Unicode字符)
Encode multibyte Unicode characters literally (default is to escape as \uXXXX).
,雖然最后結果是一樣的,但從字義上其實很難一下子看出來。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM