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)";
浏览器显示
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)";
$sql="insert into users (name,password,email,age) values('小明',md5('123'),'[email protected]',34)";
时,“小明" 应为 utf-8 编码的如果你在 win 的 mysql 窗口中能成功插入”小明“(gbk编码),那么就说明,你的那些设置并未生效
那像你说的 那些设置没生效怎么解,我也show过了 都是utf8的啊
所以在操作(查询、插入、修改...)前需要有 set names gbk 通知 mysql 将要用什么字符集进行会话程序你也一样,在连接数据库后,都要执行 set names XXX 指令,而命令中的字符集代号要和你的程序所用字符集相同