2010-12-05 58 views
1

我想知道如何爲php內置json解碼器理解這些特殊字符以及這些字符是什麼?PHP Json解碼器返回NULL,如果它包含&或é或特殊字符

例子:json_decode('{"text":"test & test"}',true);

返回NULL

我嘗試使用\逃脫它,但它不工作(僅適用於引號)。

任何解決方案?

+1

JSON似乎很好;除了````,`\`和控制字符外,JSON字符串中允許有任何Unicode字符。 – Gumbo 2010-12-05 19:53:06

回答

0

它應該使用普通的&它適用於我這麼...然而,我過去遇到的問題與不能識別一些特殊字符的蜇傷,在這種情況下,解決方案是讓舒爾php文件的文件編碼被設置爲utf8。另一個問題,我在過去是用XMLReader的女巫並沒有接受一個樸素簡單&但&,而不是工作得很好,所以你可以嘗試以下方法:

json_decode(preg_replace('/&/','&','{"text":"test & test"}')); 

附:我想你試圖解碼一個更大的json字符串,所以問題可能來自字符串的不同部分,你運行了你在問題中發佈的確切測試,它返回null?