php file_get_content错误的xml响应编码

时间:2013-10-02 14:44:12

标签: php netbeans encoding file-get-contents

我有以下代码:

$s = file_get_contents(someurl);

响应是一个XML,但由于某种原因,它被附加并以一个奇怪的符号作为前缀:

� <?xml version="1.0" encoding="utf-8"?>
 <Response>
 </Response>
�

我尝试了不同类型的编码,但没有运气。

奇怪的是我在本地与wamp一起工作,但在我的Nginx + PHP-FPM上,它正常工作。 *也许是netbeans问题?

编辑:

运行:

mb_detect_encoding($str)

on wamp return UTF-8和NginX(响应正常)是:ASCII .... 我错过了什么?

1 个答案:

答案 0 :(得分:0)

通过'响应',你的意思是来自file_get_contents函数的结果,读入$ s?

假设是这种情况,可能是发送对'someurl'URL的响应的服务器正在发送一个HTTP头,该头正在改变php试图读取结果的编码,导致这种奇怪

您可以使用$ http_response_header,如下所述:

http://www.php.net/manual/en/reserved.variables.httpresponseheader.php

找出与网址响应一起发送的http标头,以尝试进一步诊断问题。