在mysql数据库中保存数据的奇怪字符

时间:2012-02-22 21:14:47

标签: php mysql

当我从表单保存数据时,数据被剥离,奇怪的字符附加数据。 我无法从代码中弄明白。工作正常,突然发生了这件事。 代码用PHP编写

当我输入makhdoomfahim@yahoo.com

时 数据库表中的

将保存,如下图所示。 enter image description here

3 个答案:

答案 0 :(得分:0)

在将变量传递给mysql之前,您应该在php trim(http://php.net/manual/en/function.trim.php)中使用。此外,您必须确保您的mysql表是utf8_general_ci。

示例:

<?php
$con = mysql_connect("localhost","user","pass");
if (!$con)
  {
  die('Could not connect: ' . mysql_error());
  }

mysql_select_db("my_db", $con);

$mail = trim($_POST['email']);

mysql_query("INSERT INTO Persons (email) VALUES (".$mail.")");

mysql_close($con);
?>

另请注意mysql_real_escape_string以保护您在数据库中插入的变量。

答案 1 :(得分:0)

这看起来像是Unicode替换字符,例如,请参阅Removing unwanted character from column以获取更多信息

答案 2 :(得分:0)

我猜你没有使用utf8_encode($ input)。试试这个,看看你的错误是否得到纠正。