2014-03-13 58 views
0

我正在驗證數據庫中的用戶(電子郵件地址和密碼)並回顯結果。從PHP到Android的HTTP響應字符串

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」的條件不應該通過。但它通過。

String value of HTTP Response

Final String value

如果我使用 「的endsWith()」 而不是 「equals()方法」,它工作正常。或者如果我使用substring()消除第一個字節,然後使用equals,它工作正常。

任何人都可以請幫助我這裏發生了什麼?

+0

您是否嘗試過使用UTF-8編碼PHP腳本文件而不使用BOM? –

+0

@ tato.rodrigo我該怎麼做? –

+0

你在用什麼編輯器?我使用記事本+ +和它有一個選項來轉換「格式」菜單下的文件編碼。值得一試。 –

回答

1

您應該將文件編碼爲不含BOM的UTF-8。

在記事本++上,您可以通過單擊「編碼」菜單然後單擊「轉換爲UTF-8(無BOM)」選項來執行此操作。

相關問題