\xE6\x9F\xB3\xE5\xB2\xA9 MySQL数据库插入中文报错,insert 插入失败。

在MySQL执行 insert into 为字段添加值时,出现报错 '\xE6\x96\xB0\xE9\x97\xBB...' for column 'title' at row1 这是因为character_set_server 的编码格式不是utf8

解决办法:

一般MySQL的配置文件路径都在这个下面,如果找不到可以执行下面的命令查找自己的路径。
找到此路径 C:\ProgramData\MySQL\MySQL Server 5.7

或者在MySQL中执行这条命令
select @@datadir;    # 查看mysql 的配置文件
C:\ProgramData\MySQL\MySQL Server 5.7\Data\

在这里插入图片描述

1,需要将隐藏项目打开
2,点击my.ini配置文件 用记事本打开或者notepad++

在这里插入图片描述

这里可以添加成utf8mb4,也可以添加成utf8

utf8mb4 是目前最大的一个字符编码,支持任意文字。 utf8 是 Mysql 中的一种字符集,只支持最长三个字节的 UTF-8字符。所以这里推荐为utf8mb4

在这里插入图片描述

修改后保存退出,用管理员方式打开cmd窗口,重新启动MySQL,使配置生效。
如果是MySQL8版本的输入mysql80,即可

C:\WINDOWS\system32> net stop mysql57
MySQL57 服务正在停止..
MySQL57 服务已成功停止。


C:\WINDOWS\system32> net start  mysql57
MySQL57 服务正在启动 .
MySQL57 服务已经启动成功。
重启成功后查看mysql编码
show variables like 'character%';  #查看编码

在这里插入图片描述

可以看到已经变成utf8mb4,至此再次插入中文值,成功。
因为之前创建的数据库和表并没有改变,所以需要重新创建一个新的数据库和表

drop  database  a; #删除数据库 a
create database a;  # 创建数据库 a
use a; #使用该数据库

create table emp
(
    id        int   comment '编号' ,
    workno    varchar(10)  comment '工号',
    name       varchar(10)  comment '名字',
    gender    char(1)    comment '性别',
    age       tinyint unsigned comment '年龄',
    idcard    char(18)   comment '身份证号',
    workaddress  varchar(50)   comment '工作地址',
    entrydate   date           comment '入职时间'
)comment '员工表';


insert into emp (id, workno, name, gender, age, idcard, workaddress, entrydate)
values (1, '1','柳岩','女',20,'123456789012345678','北京','2001-01-01'),
(2, '2','张无忌','男',18, '123456789012345670', '北京', '2005-09-01'),
(3,'3','韦一笑','男',38, '123456789712345670','上海','2005-08-01'),
(4, '4','赵敏','女',18,'123456757123845670','北京','2009-12-01');


select * from emp;  #查看表

在这里插入图片描述

插入成功

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值