[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Конструкция json_encode
skolozhabskiy
добрый день.

по запросу аякса вывожу данные в ajax.php скрипте такой строкой:

echo json_encode($jsondata, JSON_HEX_TAG|JSON_HEX_AMP|JSON_HEX_QUOT);


вопрос: на локальном компьютере под Апаче все отлично выводится, а на удаленном сервере (мастерхост) когда переношу файлы ничего не выводится. Только если конструкцию меняю на

echo json_encode($jsondata);


тогда все опять выводится нормально

таких конструкций в скриптах много и прежде чем удалять и переделывать все хочу понять в чем проблема?

спасибо



Спустя 35 минут, 11 секунд (20.05.2012 - 16:38) skolozhabskiy написал(а):
я тестировал на своей площадке на сервере masterhost.ru такой код:

<?php
$a = array('<foo>',"'bar'",'"baz"','&blong&', "\xc3\xa9");

echo "Normal: ", json_encode($a), "\n";
echo "Tags: ", json_encode($a, JSON_HEX_TAG), "\n";
echo "Apos: ", json_encode($a, JSON_HEX_APOS), "\n";
echo "Quot: ", json_encode($a, JSON_HEX_QUOT), "\n";
echo "Amp: ", json_encode($a, JSON_HEX_AMP), "\n";
echo "Unicode: ", json_encode($a, JSON_UNESCAPED_UNICODE), "\n";
echo "All: ", json_encode($a, JSON_HEX_TAG | JSON_HEX_APOS | JSON_HEX_QUOT | JSON_HEX_AMP | JSON_UNESCAPED_UNICODE), "\n\n";

$b = array();

echo "Empty array output as array: ", json_encode($b), "\n";
echo "Empty array output as object: ", json_encode($b, JSON_FORCE_OBJECT), "\n\n";

$c = array(array(1,2,3));

echo "Non-associative array output as array: ", json_encode($c), "\n";
echo "Non-associative array output as object: ", json_encode($c, JSON_FORCE_OBJECT), "\n\n";

$d = array('foo' => 'bar', 'baz' => 'long');

echo "Associative array always output as object: ", json_encode($d), "\n";
echo "Associative array always output as object: ", json_encode($d, JSON_FORCE_OBJECT), "\n\n";
?>


в результате я должен был бы получить такой код:

Normal: ["","'bar'","\"baz\"","&blong&","\u00e9"] 
Tags: ["\u003Cfoo\u003E","'bar'","\"baz\"","&blong&","\u00e9"]
Apos: ["","\u0027bar\u0027","\"baz\"","&blong&","\u00e9"]
Quot: ["","'bar'","\u0022baz\u0022","&blong&","\u00e9"]
Amp: ["","'bar'","\"baz\"","\u0026blong\u0026","\u00e9"]
Unicode: ["","'bar'","\"baz\"","&blong&","й"]
All: ["\u003Cfoo\u003E","\u0027bar\u0027","\u0022baz\u0022","\u0026blong\u0026","й"]

Empty array output as array: []
Empty array output as object: {}
Non-associative array output as array: [[1,2,3]]
Non-associative array output as object: {"0":{"0":1,"1":2,"2":3}}
Associative array always output as object: {"foo":"bar","baz":"long"}
Associative array always output as object: {"foo":"bar","baz":"long"}


НО я получаю вот такой результат:

Normal: ["","'bar'","\"baz\"","&blong&","\u00e9"] 
Tags:
Apos:
Quot:
Amp:
Unicode:
All:

Empty array output as array: []
Empty array output as object:
Non-associative array output as array: [[1,2,3]]
Non-associative array output as object:
Associative array always output as object: {"foo":"bar","baz":"long"}
Associative array always output as object:


вопрос : в чем проблема? какие опции и где мне нужно включить на masterhost.ru, чтобы, например, конструкция :

echo json_encode($jsondata, JSON_HEX_TAG|JSON_HEX_AMP|JSON_HEX_QUOT);


работала на сервере masterhost.ru.

PS. на моем локальном все работает отлично! с кодировкой тоже все прекрасно - utf-8

спасибо за любые идеи.

Спустя 27 минут, 32 секунды (20.05.2012 - 17:05) forza написал(а):
string json_encode ( mixed $value [, int $options = 0 ] )

Параметр $options был добавлен в ПХП 5.3. Cледовательно сервер, на которым вы тестируете, имеет более старую версию ПХП.

Спустя 2 часа, 12 минут, 1 секунда (20.05.2012 - 19:17) skolozhabskiy написал(а):
спасибо за ответ

следовательно необходимо просто удалять все параметры от таких строк или есть еще какие-то решения?

спасибо

Спустя 10 часов, 11 минут, 42 секунды (21.05.2012 - 05:29) vital написал(а):
Цитата (skolozhabskiy @ 20.05.2012 - 17:17)
спасибо за ответ

следовательно необходимо просто удалять все параметры от таких строк или есть еще какие-то решения?

спасибо

Перейдите н пхп 5.3. Оставьвте 5.2 в прошлом.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.