记录一个比较有意思的问题
mysql客户端中,给表中的字段添加中文数据时,报错:
/* SQL错误(1366):Incorrect string value: '\xE5\xA4\xA7\xE5\xB9\x85...' for column 'name' at row 1 */
一查时数据编码方式不支持utf8
1.首先,查看数据库编码方式以及表的编码方式(我本地数据库编码方式为utf8,但是很奇怪我的数据表编码方式不是utf8)
所以我直接在客户端进行编码方式修改,选择utf8_general_ci ,修改后记得保存下,如图:
2、客户端中改好表的编码方式后,字段数据中输入中文,还是会报一样错,
于是cmd进入本地mysql数据库,输入命令:mysql -uroot -p 回车后输入密码(-u后是自己数据库用户名)如图:
3、使用命令先进入你出问题的数据库 : use +你数据库名
然后输入命令:show create table qmlz_adminuser; (注意qmlz_adminuser是我数据库名,后有分号!)
不看不知道,一看吓一跳啊,表中列的编码方式居然都是latin1
如图:
4、一个一个改编码方式显然那很不现实,那就用到了这个命令:alter table `tablename` convert to character set utf8;
如果真需要单独修改编码方式可用(哪个好使用哪个,别来喷我就行):
alter table `tablename` change 字段名 字段名 varchar(50) character set utf8;
或
alter table score change 字段名 字段名 varchar(50) charset utf8;
如图是我用的全部修改后不放心的又查了一遍,可以看到这次格式好了
最后去客户端插入数据,插入成功,完活儿~ 希望对寻路而来的你有所帮助~
点个关注不迷路
一起犯错一起迷路~\(^o^)/~