2014年7月22日 星期二

PHP JSON 正常中文顯示


PHP 使用版本:5.1.6 ( 版本低於5.4以下解決方法)

json_encode 使用時,當遇到中文字串回自動轉成UNICODE編碼,以下範例當字串[中文顯示]經由 json_encode 轉換後變成[\u4e2d\u6587\u986f\u793a]

程式:
<?
  $item = array('status'=>'200','message'=>'中文顯示');
  echo json_encode($item);
?>
執行結果:
{"status":"200","message":"\u4e2d\u6587\u986f\u793a"}
當需要中文顯示時可利用 urlencode 先將中文字串先進行轉換讓 json_encode 讀入時不帶中文字碼 , 需輸出時再使用 urldecode 轉換回來 , 如下:

程式:
<?
  $item = array('status'=>'200','message'=>urlencode('中文顯示'));
  echo urldecode(json_encode($item));
?>
執行結果:
{"status":"200","message":"中文顯示"}





參考資料來源:芒果小站 / 一聚教程网 / PHP json_encode




沒有留言 :

張貼留言