我有一个Android应用,用户可以提问。此问题将发送到服务器,然后服务器将其发送到我的电子邮箱。我回答问题并将响应发送回服务器。响应存储在MySQL数据库中。用户将轮询服务器并在响应可用时将响应下拉到他们的手机上。当手机上显示响应时,格式化不正确。有特殊字符和额外的空白显示。
以下是将其发送到服务器并放入数据库时的响应示例:
我们生活在一个以利润为导向的社会中,整个人民的更大利益往往被抛到一边,有利于增加一个人的财富。当道德被抛在后面时,资本主义将不会按照预期的方式运作。
当政治家们走向板块时,他们往往不是为普通民众而战,而是出价最高的人。它是代表一家大公司或一些特殊利益集团的说客,他们将通过财政捐助说服政客,使他们的利益超越公众利益。这是最好的偏好和裙带资本主义。
我是否觉得这一天会到来,我们会超越这个?我很想相信,但有时候我们现在的生活方式会束缚我们。无论是恐惧还是普遍缺乏批判性思维,使人们无法追求我们应该拥有的世界/社会,必须改变一些事物。我们要么会达到一个突破点,要么我们的行动,否则这个系统将继续按照它的方式运作。我将给你留下埃德蒙·伯克的一句名言,“邪恶胜利唯一需要的是好人无所作为。”
以下是将它拉到手机上后的样子(我缩短了错误格式化的响应,但其余部分看起来就像这部分一样):
我们生活在以利润为导向的社会中 以及人民的更大利益 作为w =
洞往往被扔到了 支持增加一个人的方式 财富。=
资本主义不会起作用 道德的意图 留下b =
ehind。当政治家们走向板块时 他们经常不打击 COMM =
关于人,但是出价最高的人。
我在响应进入数据库之前这样做:
$ message = $ dbhandler-> real_escape_string($ _ POST [“message”]);
当我使用保存响应的列创建表时,我将列分配给TEXT字段。
我不明白当它放入数据库或从中取出时,响应会发生什么。它有等号和额外的空格。有人可以对此有所了解并提供补救措施吗?
修改
我从数据库中检索响应,如下所示:
$response = $dbhandler->query("SELECT response FROM qar WHERE id='$rowId'");
$row = $response->fetch_row();
if($row[0] != NULL) {
echo($row[0]);
}
答案 0 :(得分:1)
您正在寻找的答案就在您自己的问题中:
此问题会发送到服务器,服务器会将其发送到电子邮件。
登录您最喜欢的终端并为每个块运行以下命令并观察输出:
$ echo -en "We live in a profit-driven society and the greater good of the people as a w" | wc -c
76
$ echo -en "hole tends to get thrown to the wayside in favor of increasing one's wealth." | wc -c
76
$ echo -en "\nCapitalism will not function the way its intended to when morals are left b" | wc -c
76
看模式?
这是因为您的电子邮件使用带引号的可打印编码,该编码将每行拆分为76个字符,并使用“=”字符表示行继续。 (除其他外。)
您有多种选择: