UTF-8编码有可能是两个、三个、四个字节。Emoji表情是4个字节,而MySQL的utf8编码最多3个字节,所以数据插不进去。

解决方案:将编码从utf8转换成utf8mb4。

 

1. 修改my.ini [mysqld] character-set-server=utf8mb4
2. 在Connector/J的连接参数中,不要加characterEncoding参数。 不加这个参数时,默认值就时autodetect。
3. 将已经建好的表也转换成utf8mb4 
   命令:ALTER TABLE `TABLE_NAME` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci; (将TABLE_NAME替换成你的表名)
4. 将需要使用emoji的字段设置类型为: 
   命令:ALTER TABLE `TABLE_NAME`MODIFY COLUMN `COLUMN_NAME`  text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;

相关文章:

  • 2022-12-23
  • 2021-12-06
  • 2021-07-20
  • 2021-09-13
  • 2022-01-13
  • 2022-12-23
  • 2021-12-27
  • 2022-01-20
猜你喜欢
  • 2021-06-04
  • 2022-12-23
  • 2021-07-01
  • 2022-12-23
  • 2021-09-04
  • 2021-11-07
  • 2021-08-28
相关资源
相似解决方案