php json_encode возвращает значение null

Array ( [sEcho] => 1 [iTotalRecords] => 7521 [iTotalDisplayRecords] => 1 [aaData] => Array ( [0] => Array ( [0] => Nordic Capital Buys SiC Processing [1] => 2010-06-21/nordic-capital-buys-sic-processing [2] => PEHub Media [3] => Business [4] => completed [5] => Nordic Capital has acquired a 70% stake in SiC Processing AG, a German industrial recycling company, from Frog Capital. No sale price was disclosed. SiC Processing's founding family retains a 25% holding, while former lead investor Zouk Ventures retains a 5% stake. [6] => Admin, China, Frog Capital, Germany, Italy, Iyad Omari, Manufacturing, Norway, PEHub Media, Photovoltaic Wafer Manufacturing, Renewable Energy, Semiconductor, United States ) ) ) echo json_encode($myArr); 

{«sEcho»: «1», «iTotalRecords»: 7521, «iTotalDisplayRecords»: «1», «aaData»: [[«Nordic Capital покупает обработку SiC </a> </ div>», «2010-06- 21 / nordic-capital-buys-sic-processing </ div> "," PEHub Media "," Бизнес "," завершено ", null ," Admin, China, Frog Capital, Германия, Италия, Iyad Omari, Manufacturing, Norway , PEHub Media, производство фотоэлектрических вафель, возобновляемые источники энергии, полупроводники, США]]}

Обратите внимание на нуль в середине строки после завершения

Почему это, что мне нужно выполнить для того, чтобы выполнить эту операцию?

Я пробовал, addslashes

Из руководства:

Обратите внимание: если вы попытаетесь закодировать массив, содержащий значения не-utf, вы получите нулевые значения в полученной строке JSON. Вы можете пакетно-кодировать все элементы массива с помощью функции array_map:

 $encodedArray = array_map(utf8_encode, $myArr); echo json_encode($encodedArray); 

Я просто попробовал тот же самый код, и он вернул следующее:

 {"var1":"test string","var2":"Nordic Capital has acquired a 70% stake in SiC Processing AG, a German industrial recycling company, from Frog Capital. No sale price was disclosed. SiC Processing\u2019s founding family retains a 25% holding, while former lead investor Zouk Ventures retains a 5% stake.","var3":"test string 3"} 

Какую версию PHP вы используете? И это из вашего локального хоста, или вы запускаете это на удаленной коробке?

На самом деле он не возвращает null, http://codepad.org/A34KdUf5 .

Возможно, ваша версия PHP не поддерживает json_encode ().

Работает для меня на 5.2.13. Убедитесь, что вы используете хотя бы PHP 5.2.0 и что PHP не был скомпилирован с помощью –disable-json. Вы также можете проверить, что сообщения об ошибках (и / или протоколирование) включены.

Более простой способ – $store_name = utf8_encode(name_of_varaible) но, пожалуйста, убедитесь, что ваш набор символов – ISO-8859-1.