mysql插入中文错误

Mysql插入中文出现错误

插入中文会报错,但是插入英文不会报错。
错误分析:可能是编码格式不是utf8造成的。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-kwDenRxS-1633451209914)(D:\桌面\笔记\mysql\图片\image-20211005234303144.png)]

解决办法:修改编码格式

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-vgHoRz1W-1633451209915)(D:\桌面\笔记\mysql\图片\image-20211005234522794.png)]

修改字符集的编码格式和排列顺序的编码格式:如下图所示

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Z4CB5w4g-1633451209915)(D:\桌面\笔记\mysql\图片\image-20211005234701172.png)]

修改好以后测试插入中文。如果不行就去修改数据库编码格式

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Dmnfqt6f-1633451209916)(D:\桌面\笔记\mysql\图片\image-20211005235230399.png)]

修改为以下:

在这里插入图片描述

修改完,测试发现还不行的话 打开命令列界面 :输入show create table user;

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ZBZI79xl-1633451209918)(D:\桌面\笔记\mysql\图片\image-20211005235142459.png)]

发现 name 和email的编码格式还是latin1 不是utf8,但是默认的编码格式已经变成utf8了

所以要修改所对应列的编码格式

使用下面的命令修改user表里面的编码格式

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-MOT1tVI0-1633451209918)(D:\桌面\笔记\mysql\图片\image-20211006000748710.png)]

修改以后查看user表编码格式。发现已经不是干你刚才的latin1了。再去测试

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-h7aaKLAp-1633451209918)(D:\桌面\笔记\mysql\图片\image-20211006000836208.png)]

测试结果:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-jYJyH4sx-1633451209919)(D:\桌面\笔记\mysql\图片\image-20211006000935037.png)]

成功插入中文。

备注

修改完编码格式后需要重启一下mysql数据库
重启命令:MySQL

net stop mysql的服务名称

net start mysql的服务名称

附录:

mysql修改数据库表和表中的字段的编码格式的修改

修改一张表的所有字段的编码格式

alter table tablename convert to character set utf8;

修改表的编码格式

ALTER TABLE tablename DEFAULT CHARACTER SET utf8;

修改字段的编码格式

ALTER TABLE tablename CHANGE 字段名1 字段名2 VARCHAR(36) CHARACTER SET utf8 NOT NULL;

CHANGE 字段名1 字段名2 VARCHAR(36) CHARACTER SET utf8 NOT NULL;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值