使用Mysql和Hibernate时,Emojis的字符集编码问题

时间:2017-11-07 09:19:28

标签: mysql hibernate encoding utf-8 emoji

我有一个用Spring / Hibernate / Spring Data / Jpa编码的应用程序

当我尝试更新实体时,我收到此错误:

[ERROR] org.hibernate.engine.jdbc.spi.SqlExceptionHelper - Incorrect string value: '\xEF\x83\xA8 Be...' for column 'description' at row 1

为了摆脱这个问题,我应该在Mysql中使用哪些字符?

谢谢

1 个答案:

答案 0 :(得分:1)

您应该使用utf8mb4 MySQL字符集,该字符集也变为the default one in MySQL 8

我上面链接的文章告诉您,如果您想使用Emojis,那么您需要utf8mb4字符集。

  

即使对于说英语的市场,表情符号的流行程度也是如此   字符输入正在推动utf8mb4超过utf8mb3和   LATIN1。

您可以使用以下utf8mb4 SSL声明设置ALTER DATABASE字符集:

ALTER DATABASE database_name CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci;