Вячеслав
9.07.2013 - 19:18
По достижении определённого размера
echo json_encode($array); выводит null. Многомерность массива не важна, даже обычный
$array['key'] = 'value'; с длиной строки
key не даёт работать нормально.
Вроде, ограничений никаких нет в описании функции, что это может быть? Проверено на домашней машине на винде и на хостинге с нджин-икс, везде плохо
использую utf-8 во всех файлах и в бд.
есть способ как-то явно указать её?
Winston
9.07.2013 - 19:41
При такой записи
echo json_encode(array('тест'));
Что будет выведено?
Должно вывести
["\u0442\u0435\u0441\u0442"]
Если будет null, значит кодировка не utf-8
Winston
9.07.2013 - 19:42
Цитата (Guest @ 9.07.2013 - 18:34) |
использую utf-8 во всех файлах и в бд.
|
При соединении с базой написано
mysql_query("SET NAMES utf8")
Также можно еще заголовок в файлах прописать
header('content-type: text/html; charset=utf-8');
Вячеслав
9.07.2013 - 20:05
Благодарю за помощь. Похоже, проблема с используемым фреймворком.
Winston
9.07.2013 - 20:06
А фреймворк здесь причем?
Вячеслав
9.07.2013 - 20:12
А на что ещё сослаться? При прочих равных (одинаковые массивы, одинаковый вызов), — в методе фреймворка вылетает странная ошибка (именно при превышении размера строки), а в одиночном файле все нормально. Больше просто ничего не остаётся.
Игорь_Vasinsky
9.07.2013 - 20:20
в юникод данные кодирой перед работой.
в CI например, у нас на работе всё на windows-1251
_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker