PHP的var_dump / print_r输出是乱码 - 编码问题?

时间:2015-01-16 17:20:57

标签: php debugging character-encoding gzip

我遇到问题,在服务器上var_dumpprint_r的输出完全出现乱码。 print_r输出纯粹的胡言乱语(例如��]{W�8�����- ...等),而var_dump至少给出string (1664),然后是类似的乱码(尽管这次用双引号括起来)

这看起来像是一个字符编码问题,但我找不到编码似乎解决了它(我不知道为什么只是转储PHP对象应该输出非ascii字符),echo工作良好。或者,我想知道它是否可能是一个gzip问题。无论哪种方式,我怀疑它必须是PHP或Apache的配置,但我不知道如何解决它。

如果有人对如何解决这个问题有任何建议,我将非常感激!


更新:在进一步调查中,似乎这是我正在尝试转储的特定对象的特定问题。有问题的对象是从API请求(通过curl)解码的JSON。是json_decode还是curl可能是错误配置/错误编码?

1 个答案:

答案 0 :(得分:0)

为了它的价值,我终于找到了这个问题的底部(我想!)

问题似乎是API的输出是通过json_decode运行的,无论它是否是JSON。 MySQL错误导致错误页面,而不是JSON响应,在json_decode生成乱码字符沙拉之前,通过var_dump(通过接收它的API处理代码)运行,如上所述。