【发布时间】:2015-03-15 09:01:02
【问题描述】:
我遇到了一个问题,在服务器上var_dump 和print_r 的输出完全乱码。 print_r 输出纯乱码(例如��]{W�8�����- ...等),而var_dump 至少给出string (1664),然后是类似的乱码(尽管这次用双引号括起来)。
这看起来像是一个字符编码问题,但我找不到任何编码似乎可以解决它(而且我不知道为什么只是转储 PHP 对象应该输出非 ascii 字符),并且echo 工作正常.或者,我想知道这是否可能是 gzip 问题。不管怎样,我怀疑它一定是在 PHP 或 Apache 的配置中,但我不知道如何修复它。
如果有人对如何解决此问题有任何建议,我将不胜感激!
更新:进一步调查,这似乎是我试图转储的特定对象特有的问题。有问题的对象是从 API 请求(通过 curl)解码的 JSON。 json_decode 或 curl 是否有可能被错误配置/破坏编码?
【问题讨论】:
-
不,据我所知,这是一个不同的问题。这不是一般的编码问题。
print_r和var_dump的输出特别有问题 -
你到底想打印什么?
-
我正在尝试转储代表 API 响应的 PHP 对象。有趣的是,我可以转储字符串和数组,看起来不错,但是这个特定的对象会完全乱码。
-
“可能重复”问题肯定没有回答这个问题 - 如问题中所述,(1)我尝试了不同的编码,以及(2)如果它是一般的 HTML / HTTP编码问题,似乎不会只影响
var_dump/print_r的输出
标签: php debugging character-encoding gzip