使用Mysql和Hibernate时Emojis的字符集编码问题
我有一个用Spring/Hibernate/Spring-Data/Jpa编码的应用程序 当我尝试更新实体时,出现以下错误:使用Mysql和Hibernate时Emojis的字符集编码问题,mysql,hibernate,encoding,utf-8,emoji,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中使用什么字符集 谢谢您应该使用utf8mb4MySQL字符
[ERROR] org.hibernate.engine.jdbc.spi.SqlExceptionHelper - Incorrect string value: '\xEF\x83\xA8 Be...' for column 'description' at row 1
为了解决这个问题,我应该在Mysql中使用什么字符集
谢谢您应该使用
utf8mb4
MySQL字符集,该字符集也已成为
引用MySQL服务器团队的帖子,如果你想使用Emojis,那么你需要utf8mb4
字符集
即使是在英语市场,表情符号的流行也是如此
字符输入正在推动utf8mb4取代utf8mb3和
拉丁语1
您可以使用以下alterdatabase
SSL语句设置utf8mb4
字符集:
ALTER DATABASE database_name CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci;
我想你的字符串包含了一些表情符号。出于这个原因,它抛出了这个异常。请看类似的问题,在我的例子中,它不适用于emojis,它出现在我将PDF或MS word文档复制/粘贴到mysql中的Varchar列时。MS Word的内容包含特殊字符。也许这个解决方案在这种情况下有效,以确保您使用输入源编码读取MS Word文档,并以UTF8格式提取数据。然后,从应用程序到数据库仅使用UTF8。