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() 函数前