php发送/回显'';每一次需要一次
我的PHP文件向某个GET请求发送JSON结果。 问题是,我一直在客户端遇到解析错误。查看结果字符串,我发现每个结果都以几个问号(?)开头 把我的脚本一点一点地删减,我发现结果中包含一个?对于每个require,include、require\u一次或include\u一次。 奇怪的是?如果在浏览器中运行请求,则不可见。但是,将结果复制到文本编辑器中,它们就变得可见了 我的服务器是使用PHP7.1.7的IIS (简化)代码如下所示:php发送/回显'';每一次需要一次,php,json,iis,special-characters,require-once,Php,Json,Iis,Special Characters,Require Once,我的PHP文件向某个GET请求发送JSON结果。 问题是,我一直在客户端遇到解析错误。查看结果字符串,我发现每个结果都以几个问号(?)开头 把我的脚本一点一点地删减,我发现结果中包含一个?对于每个require,include、require\u一次或include\u一次。 奇怪的是?如果在浏览器中运行请求,则不可见。但是,将结果复制到文本编辑器中,它们就变得可见了 我的服务器是使用PHP7.1.7的IIS (简化)代码如下所示: http://s-mde/itemLookup.php?num
http://s-mde/itemLookup.php?number=305475
?????[{"Typ":"I","No_":"408835","Description":"Ds Scene it? Twilight","debugCounter":96},{"Typ":"L","No_":"100773","Description":"Axe Deo Roll Diverse 50ml Ro","debugCounter":96},{"Typ":"L","No_":"410296","Description":"Axe Duschgel Africa 250ml Fl.","debugCounter":96},{"Typ":"L","No_":"102939","Description":"Axe Duschgel Alaska 250ml Fl.","debugCounter":96},{"Typ":"L","No_":"408835","Description":"Ds Scene it? Twilight","debugCounter":96},{"Typ":"L","No_":"100332","Description":"Rexona Roll On Men Sport 50ml","debugCounter":96}]
lookup.php
<?php
include_once 'common/server.php';
echo $srv->QueryTable(qry_ItemList);
<?php
require_once 'constants.php';
require_once 'sql/queryNAV.php';
class JSON_Server
{
public function QueryTable($SQLTextName)
{
$qry_result = /*(do SQL-Query)*/;
return json_encode($qry_result);
}
}
$srv = new JSON_RESTServer;
。。。结果可能是这样的:
http://s-mde/itemLookup.php?number=305475
?????[{"Typ":"I","No_":"408835","Description":"Ds Scene it? Twilight","debugCounter":96},{"Typ":"L","No_":"100773","Description":"Axe Deo Roll Diverse 50ml Ro","debugCounter":96},{"Typ":"L","No_":"410296","Description":"Axe Duschgel Africa 250ml Fl.","debugCounter":96},{"Typ":"L","No_":"102939","Description":"Axe Duschgel Alaska 250ml Fl.","debugCounter":96},{"Typ":"L","No_":"408835","Description":"Ds Scene it? Twilight","debugCounter":96},{"Typ":"L","No_":"100332","Description":"Rexona Roll On Men Sport 50ml","debugCounter":96}]
你的文件编码是什么?在从PHP创建Android应用程序的JSON响应时,我也遇到过类似的问题。通过使用UTF-8、请求和响应对双方进行编码,解决了这个问题。目前我甚至没有想过编码。请求通过Android/Volley从浏览器地址字段或Java字符串发送。响应是一个简单的“echo$ResultString”。我如何影响编码?我必须添加标题吗?我不知道您使用的是哪个IDE。我个人使用Notepad++(oldtimer-lerl)来编写PHP,我只需打开.PHP文件,转到Encoding->Encode in UTF-8并保存。请记住,在Notepad++中更改编码时,您可能会得到一些加扰字符,因此请先复制完整代码,更改编码,然后再次粘贴。解决方法:正如Mario所述,这与php源代码编码有关,但在本例中是另一种方式:我的所有文件都编码为UTF-8。我打开了它们(顺便说一句:我也使用NPP),并将编码更改为ANSI。现在,它的工作如预期。但奇怪的是,因为我使用了一个非常现代的环境:在Windows Server 2016的IIS上运行的PHP7.1.7。我认为,这种组合应该能够正确处理UTF-8(?)。不过:问题解决了,谢谢。