У меня проблема, где на сервере вывод 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
производится искаженный характер салата, как указано выше.
Других решений пока нет …