日期:2014-05-16  浏览次数:21428 次

数据库乱码问题
我用的是mysql server 5.5.数据库统一默认编码是utf8,建表的时候也是utf8,然后往数据库插入数据(插入汉字)的时候发生了错误,例如:
mysql> insert into user(uname,name,did,birth,stu_num,discipline,grade,role) valu
e('assign','张三',1,'1991-07-09',2010328306,'法学','10',1);
ERROR 1366 (HY000): Incorrect string value: '\xD5\xC5\xC8\xFD' for column 'name'
 at row 1
请问这是怎么回事?

然后我用Navicat for mysql可以插入,然后取出来就成了繁体字乱码了,求高手解答!!

------解决方案--------------------
看你输入的控制台是否直接支持UTF8了。猜你是在DOS窗口下输入,不支持。
你先SET NAMES 'gbk';
然后再插入,就可以了。

------解决方案--------------------
set name 'gbk'; 先执行一下。

http://blog.csdn.net/ACMAIN_CHM/archive/2009/05/12/4174186.aspx
MySQL 中文显示乱码
------解决方案--------------------
重新设置字符编码了,再插入了。
show variable 'char%'

------解决方案--------------------
set name 'gbk';