json_encode() 使用注意事項之一

28八月

json_encode() 使用注意事項之一

PHP 的 json_encode() 非常好用,很適合拿來與 JavaScript 協同運作, 例如直接將資料庫查詢出來的陣列資料,轉換成 JSON 格式,提供給 JavaScript 來存取, 或透過 AJAX 技巧作資料交換等。 但要注意這個函式,目前只能用來處理 UTF-8 編碼的資料, 若在 BIG5 的環境,若資料中包含中文字,在使用 json_encode() 前, 記得要先利用 iconv() 或 mb_convert_encoding() 轉碼一下, 單一變數資料要轉碼,應該沒有什麼大問題, 但若是陣列資料要轉碼,可以利用 functions.php 提供的 array_map_recursive() 作處理, 底下提供一個作法,供參考使用。 

function convertEncoding($data) { return mb_convert_encoding($data, "UTF-8", "BIG-5"); }
$aSomeData= array_map_recursive('convertEncoding', $aSomeData);
echo json_encode($aSomeData);
Posted by chihwen  Posted on 28 八月 
  • JSON, PHP
  • Post Comments 0