我遇到问题,在服务器上var_dump
和print_r
的输出完全出现乱码。 print_r
输出纯粹的胡言乱语(例如��]{W�8�����-
...等),而var_dump
至少给出string (1664)
,然后是类似的乱码(尽管这次用双引号括起来)
这看起来像是一个字符编码问题,但我找不到编码似乎解决了它(我不知道为什么只是转储PHP对象应该输出非ascii字符),echo
工作良好。或者,我想知道它是否可能是一个gzip问题。无论哪种方式,我怀疑它必须是PHP或Apache的配置,但我不知道如何解决它。
如果有人对如何解决这个问题有任何建议,我将非常感激!
更新:在进一步调查中,似乎这是我正在尝试转储的特定对象的特定问题。有问题的对象是从API请求(通过curl)解码的JSON。是json_decode
还是curl
可能是错误配置/错误编码?
答案 0 :(得分:0)
为了它的价值,我终于找到了这个问题的底部(我想!)
问题似乎是API的输出是通过json_decode
运行的,无论它是否是JSON。 MySQL错误导致错误页面,而不是JSON响应,在json_decode
生成乱码字符沙拉之前,通过var_dump
(通过接收它的API处理代码)运行,如上所述。