有2个问题!

有2个问题!

问题1:

http://img1.sycdn.imooc.com//climg/5d2d59aa0001b88e08880305.jpg

问题2:为什么我把编码格式从utf8mb4改成utf8之后,插入数据报错

mysql> INSERT user(id,username,password,email,age,sex,card,tel,salary,married,addr)

    -> VALUES (1,'king','king','545365794@qq.com',20,'女','420321456987456321','12369844790',884845.28,0,'湖北');

ERROR 1366 (HY000): Incorrect string value: '\xBA\xFE\xB1\xB1' for column 'addr' at row 1

http://img1.sycdn.imooc.com//climg/5d2d5a5d000155ab06050267.jpg

把Utf8改成utf8mb4后,字符就乱码啦,不知道为什么?

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

2回答
好帮手慕阿满 2019-07-16 16:23:55

同学你好,建议同学将utf8mb4改为utf8,而不是将utf8改为utf8mb4。建议同学修改一下再试试。另外建议同学使用如下语句查看user表中的字段的编码是否为utfmb4,如:

show full columns from user;

http://img1.sycdn.imooc.com//climg/5d2d89640001479407970204.jpg

如果用,修改该字段,指定其编码字符集为utf8,sql如:

alter table user modify name varchar(45) character set utf8;

祝:学习愉快~

好帮手慕阿满 2019-07-16 14:43:14

同学你好,关于同学的问题

1、报错是指addr设置了无效的默认值,建议同学检查一下载设置默认值时,标点符合是否使用的中文的。

2、建议同学在建表时,指定字符集编码为utf8再试试。

如果我的回答解决了你的疑惑,请采纳。祝:学习愉快~

  • 提问者 浮生Y一梦 #1
    老师,你的方法解决不了啊
    2019-07-16 15:21:16
  • 提问者 浮生Y一梦 #2
    我在建表时,已经指定了字符集为utf8,还是解决不了以上问题!
    2019-07-16 15:25:16
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
Java数据库开发与实战应用2018版
  • 参与学习           人
  • 提交作业       277    份
  • 解答问题       4297    个

Java数据库开发的必备技能,从流行的MySQL数据库开始,到Java原生的数据库管理接口JDBC的使用,再到常用的数据持久化框架MyBatis,让你向Java工程师的目标又迈进了一步!

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师