отладка — вывод PHP var_dump / print_r искажен — проблема с кодировкой?

У меня проблема, где на сервере вывод var_dump а также print_r выйти полностью искаженным. print_r выводит чистый бред (например, ��]{W�8�����- … и т. д.) var_dump по крайней мере, дает string (1664)с последующим аналогичным бредом (правда, на этот раз в двойных кавычках).

Это похоже на проблему кодировки символов, но никакая кодировка, которую я могу найти, кажется, не устраняет ее (и я не знаю, почему простой вывод объекта PHP должен в любом случае выводить символы, отличные от ascii), и echo работает отлично. В качестве альтернативы мне интересно, может ли это быть проблемой gzip. В любом случае, я подозреваю, что это должно быть что-то в конфигурации PHP или Apache, но я не знаю, как это исправить.

Я был бы очень признателен, если у кого-нибудь есть предложения, как это исправить!


Обновить: при дальнейшем исследовании кажется, что это проблема, специфичная для конкретного объекта, который я пытаюсь сбросить. Рассматриваемый объект декодируется JSON-запросом (через curl) из API. Возможно ли, что либо json_decode или же curl может быть неправильно настроен / искажен кодировки?

2

Решение

Для чего это стоит, я наконец-то докопался до этой проблемы (думаю!)

Кажется, проблема в том, что вывод API проходил через json_decode был ли это JSON или нет. Ошибки MySQL вызывали страницу с ошибкой, а не ответ JSON, который при запуске json_decode (по коду обработки API, который его получил) до var_dump производится искаженный характер салата, как указано выше.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]