今天往mysql数据库中添加数据时出现了如标题的错误,因为刚刚把数据库版本从8.0换成了5.5.27版本,于是网上搜了一下答案。搜了很多修改了都没用,最后终于成功了之后总结了一下。
一、修改mysql数据库的编码为uft8mb4
修改mysql配置文件,设置默认字符集utf8mb4, 包括collation
//client字段中
[client]
default-character-set = utf8mb4
//mysql字段中
[mysql]
default-character-set = utf8mb4
mysqld字段中
[mysqld]
character-set-client-handshake = FALSE
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci
init_connect=’SET NAMES utf8mb4’
二、修改数据表的编码为utf8mb4
执行命令:
ALTER TABLE TABLE_NAME CONVERT TO CHARACTER SET utf8mb4;
三、修改连接数据库的连接代码
修改前:
jdbc:mysql://localhost:3306/+DATABASENAME+?useunicode=true&characterEncoding=utf8
修改后:
jdbc:mysql://localhost:3306/+DATABASENAME
四、重启数据库服务
在系统盘中(C:\WINDOWS\system32
)打开cmd.exe,执行命令
C:\WINDOWS\system32>net stop mysql
MySQL 服务正在停止..
MySQL 服务已成功停止。
C:\WINDOWS\system32>net start mysql
MySQL 服务正在启动 .
MySQL 服务已经启动成功。
如果出现访问错误,可以右键以管理员身份打开cmd.exe。