У меня проблема, когда на сервере вывод var_dump
и print_r
выходит полностью искаженным. print_r
выводит чистую тарабарщину (например, ]{W 8 -
… и т. д.), в то время как var_dump
по крайней мере дает string (1664)
, за которой следует аналогичная тарабарщина (хотя на этот раз завернуты в двойные кавычки).
Это похоже на проблему кодировки символов, но никакая кодировка, которую я могу найти, по-видимому, не исправляет ее (и я не знаю, почему просто демпинг объекта PHP должен выводить символы не-ascii), и echo
работает нормально. В качестве альтернативы, интересно, может ли это быть проблемой gzip. В любом случае, я подозреваю, что это должно быть что-то в конфигурации PHP или Apache, но я понятия не имею, как это исправить.
Я был бы очень благодарен, если у кого-нибудь есть какие-то предложения относительно того, как это исправить!
Обновление: при дальнейшем расследовании кажется, что это проблема, специфичная для конкретного объекта, который я пытаюсь сбрасывать. Объект, о котором идет речь, декодируется JSON, запрошенным (через curl) из API. Возможно ли, что json_decode
или curl
могут быть неправильно сконфигурированы / искажены кодирование?
Для чего это стоит, я, наконец, дошел до сути этой проблемы (я думаю!)
Проблема заключается в том, что вывод API выполнялся через json_decode
независимо от того, был ли он JSON или нет. Ошибки MySQL вызывали страницу с ошибкой, а не ответ JSON, который при запуске через json_decode
(с помощью кода обработки API, который его получил) до того, как var_dump
произвел искаженный салат, как указано выше.