當前位置:編程學習大全網 - 編程軟體 - php如何輸出中文json格式字符串

php如何輸出中文json格式字符串

php如何輸出中文json格式字符串

如何對json格式的字符串進行轉換,php提供了兩個函數:

json_encode 對變量進行 JSON 編碼

json_decode 對 JSON 格式的字符串進行編碼

下面看個實例:

$arr = ['a', 'b', 'c'];echo json_encode($arr);

輸出為:

["a","b","c"]

但是,當我們在數組中放入中文的時候,就會出現問題:

$arr = [ '世界', '妳好',

];echo json_encode($arr);

輸出的結果為:

["\u4e16\u754c","\u4f60\u597d"]

這個結果顯然不是我們想要的,但是為什麽出現這個呢?

因為當我們的值中包含中文時,php對他進行json編碼時底層會對中文進行unicode編碼,導致結果不可讀,那該怎麽解決呢?

方法壹

可以利用 urlencode 和 urldecode 方法繞過這個轉碼為 unicode 的過程,先將中文字段進行urlencode,然後json_encode,最後再用urldecode處理結果,便可以正常顯示中文。具體代碼如下:

$arr = [ '世界', '妳好',

];echo urldecode(json_encode(array_map('urlencode', $arr)));

輸出結果為:

["世界","妳好"]

方法二

自PHP5.4版本,官方就已經給Json新增了壹個選項: JSON_UNESCAPED_UNICODE。加上這個選項後,就不會自動把中文編碼了。具體代碼如下:

$arr = [ '世界', '妳好',

];echo json_encode($arr, JSON_UNESCAPED_UNICODE);

["世界","妳好"]

看吧,這才是我們想要的結果 :)

  • 上一篇:學而思培優a是基礎班嗎
  • 下一篇:大數據要學習哪些語言
  • copyright 2024編程學習大全網