2015-08-30 71 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代码没有读取所有的行或者为什么消除换行解决了问题。 –