A codificação UTF-8 pode ter dois, três ou quatro bytes. As expressões emoji são de 4 bytes e a codificação utf8 do Mysql é de até 3 bytes, portanto, os dados não podem ser inseridos.
gravação do pool de conexão java:
spring.datasource.url= jdbc:mysql://127.0.0.1:3306/demo?useUnicode=true&characterEncoding=UTF-8
1. Como alterar o conjunto de caracteres padrão do banco de dados :
ALTER DATABASE db_name CHARACTERSET= utf8mb4 COLLATE = utf8mb4_general_ci;
por exemplo:
ALTER DATABASE demo CHARACTERSET= utf8mb4 COLLATE = utf8mb4_general_ci;//修改数据库
2. Como alterar o conjunto de caracteres padrão de uma tabela no banco de dados:
ALTER TABLE table_name CONVERT TO CHARACTER SET utf8mb4;
por exemplo:
ALTER TABLE `comment` CONVERT TO CHARACTER SET utf8mb4;//修改表
3. Como alterar o conjunto de caracteres padrão de uma linha em uma tabela do banco de dados
ALTER TABLE table_name MODIFY column_name varchar(255) CHARACTER SET utf8mb4;
por exemplo:
ALTER TABLE `comment` MODIFY`comment`.Comment_Content varchar(255) CHARACTER SET utf8mb4; //修改某个字段