大家好!
最近遇到一個問題
就是 json_encode 之後的字串問題
預設中
json_encode 會將 UTF-8的字元都轉成 \uXXXX 之類的
但是問題是,這樣的字串其實是有問題的
怎麼說呢...因為很多時候,寫入資料的時候會變成 \\uXXXX
然後在寫入之後又會變成 \\\uXXXX
這樣就容易出錯了

至於詳細原因我就不是很清楚
總之這是常常會被過濾掉的字元

在PHP 5.4 之後版本可以用

json_encode($data, JSON_UNESCAPED_UNICODE);


來取消 UTF-8字元的轉碼
但是在 PHP 5.3之前都不行
那我找到一個解決方案
參考來源

$data        = array('安安','您好');
$jsonData    = json_encode($data);
$newJsonData = preg_replace_callback('/\\\\u(\w{4})/', function ($matches) {
    return html_entity_decode('&#x' . $matches[1] . ';', ENT_COMPAT, 'UTF-8');
}, $jsonData);

//$jsonData    : 有 \uXXX 不太好
//$newJsonData : 沒有 \uXXX 直接寫入UTF-8字元,好!


這樣就可以解決這個問題了
給大家參考喔
感恩!