UTF-8编码有可能是两个、三个、四个字节。Emoji表情是4个字节,而Mysql的utf8编码最多3个字节,所以数据插不进去。
java连接池写法:
spring.datasource.url= jdbc:mysql://127.0.0.1:3306/demo?useUnicode=true&characterEncoding=UTF-8
1、更改数据库默认字符集的方法:
ALTER DATABASE db_name CHARACTERSET= utf8mb4 COLLATE = utf8mb4_general_ci;
eg:
ALTER DATABASE demo CHARACTERSET= utf8mb4 COLLATE = utf8mb4_general_ci;//修改数据库
2、更改数据库的某张表默认字符集的方法:
ALTER TABLE table_name CONVERT TO CHARACTER SET utf8mb4;
eg:
ALTER TABLE `comment` CONVERT TO CHARACTER SET utf8mb4;//修改表
3、更改数据库的某张表的某行默认字符集的方法
ALTER TABLE table_name MODIFY column_name varchar(255) CHARACTER SET utf8mb4;
eg:
ALTER TABLE `comment` MODIFY`comment`.Comment_Content varchar(255) CHARACTER SET utf8mb4; //修改某个字段