MYSQL 乱码 ERROR 1366

插入中文数据报错,如下:

mysql> insert into `test3` values("2","测试");
ERROR 1366 (HY000): Incorrect string value: '\xB2\xE2\xCA\xD4' for column 'name'
 at row 1

解决办法:修改my.ini文件 [client]节中 default-character-set=gbk
                                          [mysqld]节中 default-character-set=utf8
这样你通过客户端连接的时候就会使用gbk编码,存进数据库中编码使用utf8

注意:修改后需重启MySQL服务

 

 

 

网页上显示乱码,如下:

解决办法:

首先要确认你的页面编码方式无误,如下:

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

其次,在用PHP连接数据库时,加入下面红色的一句

……
// 查询语句
$strsql="SELECT * FROM test";

// 设置查询字符集

mysql_query("set names utf8");
//执行查询
$result = mysql_query($strsql)
 or die("Invalid query: " . mysql_error());
……
最后刷新网页即可。

 注意:一定要放在 mysql_query() 函数前

 

原文地址:https://www.cnblogs.com/songxiii/p/2696404.html