我正在验证数据库中的用户(电子邮件地址和密码)并回显结果。

if($num_rows == 1)
{
    $usertypeid = mysql_fetch_array($query_result);
    echo $usertypeid[0];
}
else
{
    echo "invalid_user";
}


当我在普通浏览器上对其进行测试时,它会完全打印我想要的内容。当我从android执行http请求时,它返回正确的字符串。但是我猜它的第一个字节有一些垃圾值,尽管这是不可见的。

HttpResponse httpResponse = httpClient.execute(httpGet);
HttpEntity httpEntity = httpResponse.getEntity();
strResult = EntityUtils.toString(httpEntity);


然后,我将strResult与最终字符串进行比较,并检查它是否不是失败。

if (!strResult.equals(Konstant.HTTP_RESULT_SIGNIN_FAILURE))


因此,当strResult实际上是“ invalid_user”时,该条件不应通过。但是它过去了。





如果我使用“ endsWith()”而不是“ equals()”,它可以正常工作。或者,如果我使用substring()消除第一个字节,然后使用equals,则可以正常工作。

谁能帮我在这里发生的事情吗?

最佳答案

您应该将文件编码为没有BOM的UTF-8。

在Notepad ++上,您可以通过单击“编码”菜单,然后单击“转换为UTF-8(无BOM)”选项来实现。

09-28 01:06