数据库错误 ERROR 1366 (HY000): Incorrect string value: ‘\xD4\xF8\xBB\xAA’ for column ‘Sname’ at row 1解决
一.原因:
插入数据时有中文字符出现
二.解决方案
1.查看当前服务器状态 : status或者\s
2.修改数据库的默认编码方式
使用命令:
alter database mydb character set gbk;
查看修改是否成功:使用命令:\s或则status;可以看到Db characterset:gbk 设置成功了。
插入数据试一下:
发现依旧报错.报错的原因是,在修改数据库mydb编码方式前,表department就已经建立了。因此,表department它的编码还是数据库之前默认的编码方式latin1,这个可以通过下面的命令来得到确认:
show create table department;
因此,还需要修改表格的编码方式。
修改表格的默认编码方式,并插入数据试一下
alter table department character set gbk;
发现还是不行,
使用命令:status或\s
发现表的编码方式已经是gbk了,但是dname的编码仍然是latin1,所以我们应该对dname属性进行编码方式修改,使用命令:
alter table department modify dname varchar(20) character set gbk;
发现已经成功了!
另外,我们也可以在创建表的时候指定字符集,这里我就不做演示了,感兴趣的小伙伴可以在下方留言.
还有我们可以修改mysql默认字符集编码方式
找到Mysql数据库安装路径,打开my.ini配置文件
修改默认字符集编码方式为gbk,(没有就加上)
重新登录到mysql数据库就可以了