我有一個問題,json可以編碼一個數組但是然後它不能正確解碼它由於特殊字符。JSON_encode沒有照顧特殊的人物?
我發現計算器此功能,試圖幫助:
function escapeJsonString($value)
{ # list from www.json.org: (\b backspace, \f formfeed)
$escapers = array("\\", "/", "\"", "\n", "\r", "\t", "\x08", "\x0c");
$replacements = array("\\\\", "\\/", "\\\"", "\\n", "\\r", "\\t", "\\f", "\\b");
$result = str_replace($escapers, $replacements, $value);
return $result;
}
但這只是每次我得到一個新的特殊字符時我必須手動處理它,並把它添加到人物的名單,該字符及其替換列表。
我該如何正確處理這個問題?
感謝
如果字符串是utf-8 json_encode沒有正確處理特殊字符,json_decode也是如此,通常沒有額外的替換要求,如果你正在使用有效的json,請發佈你的json代碼! – x4rf41 2013-03-01 11:14:22
您是否使用過urlencode()http://php.net/manual/en/function.urlencode.php? – 2013-03-01 11:14:24