我正在验证数据库中的用户(电子邮件地址和密码)并回显结果。
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,它工作正常。
任何人都可以帮助我这里发生的事情吗?
答案 0 :(得分:1)
您应该将文件编码为UTF-8而不使用BOM。
在Notepad ++上,您可以通过单击“编码”菜单然后单击“转换为UTF-8(无BOM)”选项来执行此操作。