日期:2014-05-17  浏览次数:20547 次

#新手来袭# 关于mysqli和mysql函数插入数据出现乱码
首先,
$con=mysqli_connect("localhost","root","root","findbottle");

  mysqli_query("set names utf8");
  $sql = "INSERT INTO find (findbottle_name,findbottle_sex,findbottle_email,
  findbottle_time,findbottle_address,findbottle_DorL,findbottle_other) VALUES ('$findbottle_name','$findbottle_sex','$findbottle_email',
  '$findbottle_time','$findbottle_address','$findbottle_DorL','$findbottle_other')";

  $result=mysqli_query($con,$sql)
  or die('Error query database');

  mysqli_close($con);

----------------------------------------以上这段代码是MYSQLI的------------------------------------------------
我用这段代码可以插入数据,但是中文部分显示乱码.

--------------------------------------------------------------------------

  $con=mysql_connect("localhost","root","root");
  mysql_select_db("findbottle",$con);

  mysql_query("set names utf8");

  $sql = "INSERT INTO find (findbottle_name,findbottle_sex,findbottle_email,
  findbottle_time,findbottle_address,findbottle_DorL,findbottle_other) VALUES ('$findbottle_name','$findbottle_sex','$findbottle_email',
  '$findbottle_time','$findbottle_address','$findbottle_DorL','$findbottle_other')";

  $result=mysql_query($sql,$con)
  or die('Error query database');

  mysql_close($con);
---------------------------------------------以上是MYSQL系列函数----------------------------------------------
我的问题是,为什么我用MYSQL系列函数可以正常的插入中文而不显示乱码,但是用MYSQLi就不行了呢?代码明明都差不多啊,我也有注意参数顺序,可就是不行,我今天兴冲冲的配置好MYSQLI居然是这个结局,这是伤心,求大神解救

------解决方案--------------------
mysqli_set_charset($con, "utf8") ; //试试这句