插入db之前附加到下拉列表的特殊字符

时间:2012-10-21 11:45:13

标签: php html mysql forms drop-down-menu

我有一个国家/地区的下拉列表.. html代码如下:

<select>
<option value=”Singapore“>Singapore</option>
</select>

这个html代码驻留在一个php页面中,然后发送表单并将下拉列表中的值存储到mysql db中。

在我将它发送到db之前,在php中我做了一个小数据清理,如下所示:

$post_tag2 = mysqli_real_escape_string($db_conn, $post_tag2);
$post_tag2 = preg_replace('/\s+/', '', $post_tag2);
$post_tag2 = strtolower($post_tag2);

其中post_tag2具有下拉列表中的值。我基本上将它转换为小写并删除所有空格,然后将其存储到我的数据库中。

但是所有这一切的结果,当数据保存到db时是这样的:

â€singapore“

如果下拉值是burkina faso,那么在db中它是:â€burkina (基本上空格后的单词就消失了,然后在布基纳之前就有了额外的符号)

如何确保这些额外的符号â€不来?另外,为什么它会在空间之后切断这个词呢?

谢谢!

1 个答案:

答案 0 :(得分:0)

您使用了错误的引号,将被解释为内容。因此,空格将指示属性值的结束,因为没有适当的分隔符。

您必须使用'"

<option value="Singapore">Singapore</option>
<option value='Singapore'>Singapore</option>