mysql直接插入中文不会出错但是php插入中文就不行不能插入
浏览器显示
Incorrect string value: '\xC3\xF7' for column 'name' at row 1但是如果mysqli_query($conn,"set names gbk")这样的话能插入,但是数据库字符集都是utf8mysqli_query($conn,"set names utf8");
$sql="insert into users (name,password,email,age) values('小明',md5('123'),'[email protected]',34)";

解决方案 »

  1.   

    mysqli_query($conn,"set names utf8");
    $sql="insert into users (name,password,email,age) values('小明',md5('123'),'[email protected]',34)";
    时,“小明" 应为 utf-8 编码的如果你在 win 的 mysql 窗口中能成功插入”小明“(gbk编码),那么就说明,你的那些设置并未生效
      

  2.   

    但是在utf8的情况下 我直接在mysql中插入不了。  如果我把 client 和 results都改成gbk的就能插入了,而且在这种情况下我php  utf8 可以插入但是显示是乱码  ,但是我如果单独把results改回utf的时候也插入不了。
    那像你说的  那些设置没生效怎么解,我也show过了 都是utf8的啊
      

  3.   

    在 mysql 命令行方式下,由于 window 的命令窗口是简体中文的
    所以在操作(查询、插入、修改...)前需要有 set names gbk 通知 mysql 将要用什么字符集进行会话程序你也一样,在连接数据库后,都要执行 set names XXX 指令,而命令中的字符集代号要和你的程序所用字符集相同