Я читаю из базы данных с некоторым текстом на иврите и пытаюсь сделать json_encode
. если я print_r
результаты я получаю:php json_encode() show's null вместо текста
Array
(
[0] => Array
(
[value] => 88
[text] => כיתה א'
[parent_id] => 1
[level] => 1
)
[1] => Array
(
[value] => 89
[text] => כיתה ב'
[parent_id] => 1
[level] => 1
)
[2] => Array
(
[value] => 91
[text] => כיתה ג'
[parent_id] => 1
[level] => 1
)
)
в то время как json_encode показывает:
[{"value":"88","text":null,"parent_id":"1","level":"1"},{"value":"89","text":null,"parent_id":"1","level":"1"},{"value":"91","text":null,"parent_id":"1","level":"1"}]
я верю, что это потому, что мой текст из базы данных содержит (') знак. попробовал различную комбинацию stripslashes или real_escape_string, никому не помогли.
Это не ' '' цитата. Скорее всего, ваша кодировка текста не UTF-8. Или в какой кодировке таблицы базы данных есть? – mario
Какую кодировку символов вы используете? Проблема определенно выглядит с отсутствующим », похоже, что вам нужно очистить данные от db, закодировав его до UTF-8. –
json_encode работает только с строками utf-8 в соответствии с документами. проверьте вывод 'json_last_error()'. http://php.net/json-last-error. utf8 кодирует ваши строки перед вызовом json_encode. –