2015-08-30 121 views
3

我從數據庫中加載一些信息,然後回顯它,以便我可以在Android設備上讀取它。到目前爲止它一直運行良好,但由於某種原因,數據庫中的一個特定條目未正確加載。我回應的數據如下:Android - PHP回聲字符串不工作

echo ($row['POST_NAME'] . "^" . $row['POST_URL'] . " GOT HERE"); 

對於所有條目信息被正確回顯。然而,對於一個帖子,它會返回以下內容:

Test Post^glamourmenot.weebly.com 

正如您所看到的,「GOT HERE」缺失。正因爲如此,我試圖自己迴應URL。這工作得很好。但一旦我嘗試添加一些事後,它就會失敗。什麼可能導致這個問題?

對數據庫中的數據類型設置爲:

Text: utf8_general_ci 

編輯: 這裏是我正在讀的Android應用程序中的數據:

StringBuffer sb = new StringBuffer(""); 
String line = ""; 
while ((line = in.readLine()) != null) { 
    sb.append(line); 
    break; 
} 
in.close(); 
String responseString = sb.toString(); 
+2

'$ row ['POST_URL']'有一個尾隨的換行符序列嗎?你不會說你如何閱讀返回的數據,但是如果是通過閱讀一行,那麼這將解釋缺少''GOT HERE'''。 –

+0

奇怪。我認爲你正在記錄'responseString'或者在調試器中查看它?你可以嘗試在'echo'命令中使用'trim('row_'POST_URL'])',但是從你發佈的代碼看來,我的猜測看起來並不是真正的問題。 –

+0

修剪會刪除正確的空白?我可以嘗試。 – TastyLemons

回答

0

OK我已經解決了這個問題。正如Ted Hopp建議的那樣,這是一個新線序的問題。我解決它通過這樣做:

echo echo str_replace(array("\r", "\n"), "", textToEcho); 

這將刪除所有的新行的字符。

+1

很高興你解決它。你應該將你的答案標記爲解決方案。 trim()只能刪除前導和尾隨的空白;它不會刪除嵌入文本中的新行序列。我認爲這是問題所在? –

+0

是的新線順序是問題。如果你喜歡,你可以提交你的答案,並將其中一個標記爲解決方案。 :)再次感謝 – TastyLemons

+1

您的答案是解決方案;我不需要張貼另一張。此外,我仍然不明白爲什麼你的Android代碼沒有讀取所有的行或者爲什麼消除換行解決了問題。 –