建议使用以下浏览器,以获得最佳体验。 IE 9.0+以上版本 Chrome 31+ 谷歌浏览器 Firefox 30+ 火狐浏览器
请选择 进入手机版 | 继续访问电脑版
设置昵称

在此一键设置昵称,即可参与社区互动!

确定
我再想想
选择版块
直达楼层
标签
您还可以添加5个标签
  • 没有搜索到和“关键字”相关的标签
  • 云产品
  • 解决方案
  • 技术领域
  • 通用技术
  • 平台功能
取消

采纳成功

您已采纳当前回复为最佳回复
发表于2021年03月04日 22:41:13 185 6
直达本楼层的链接
楼主
显示全部楼层
[技术干货] mysql存储emoji表情步骤

Caused by: java.sql.SQLException: Incorrect string value: '\xF0\x9F\x94\xA5' for column Emoji表情存储到Mysql中时报错。

ios的表情(emoji表情),这种表情虽然是utf8编码,但是一个字符需要占用4个字节,而MySQL utf8编码只能存放3字节的字符。在MySQL 5.6中,可以设置编码为utf8mb4,这个字符集是utf8的超集。

image.png

1、修改MYSQL字符集

Mysql设置字符编码集为utf8mb4,对应的库、表、字段设置为utf8mb4,注意如果是已经存在的表utf8编码集修改为utf8mb4那么,库、表、字段都要设置并检查一次,如果只改库对应的表和字段都不会变化,改表也是如此。可能还需要重启数据库,如果改了配置的话。

character_set_server=utf8mb4

image.png

image.png

2、升级JDBC

低版本的JDBC会出现乱码,表情乱码,甚至中文乱码。

下面给出JDBC版本的一些对应情况,详情如下图JDBC版本支持EMOJI情况,网上找的图,我的5.1.6测试插入和显示中文及Emoji表情均正常。

image.png

3、继承服务器的配置jdbc:mysql://xxx.xxx.xxx.xxx:3306/dbwww58com_chrcsm?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true连接地址后的参数设定为UTF-8或可以被自动识别,如果不能可以试着去掉粗体部分,让连接自动识别服务器配置。具体情况与JDBC版本有关。继承服务器的配置jdbc:mysql://xxx.xxx.xxx.xxx:3306/dbwww58com_chrcsm?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true连接地址后的参数设定为UTF-8或可以被自动识别,如果不能可以试着去掉粗体部分,让连接自动识别服务器配置。具体情况与JDBC版本有关。

4、设置MYSQL的init_connect参数

设置后可以通过show variables like ‘init_connect';进行验证,如下图2 init_connect参数查询,所示:

image.png

5、代码中设置编码集或许是因为JDBC版本的原因,我是采用的这种方式,插入和查询均能正常进行。connection.prepareStatement(“set names utf8mb4”).executeQuery();然后再通过connection.prepareStatement,这样的方式进行插入。代码中设置编码集或许是因为JDBC版本的原因,我是采用的这种方式,插入和查询均能正常进行。connection.prepareStatement(“set names utf8mb4”).executeQuery();然后再通过connection.prepareStatement,这样的方式进行插入。

举报
分享

分享文章到朋友圈

分享文章到微博

采纳成功

您已采纳当前回复为最佳回复

满心

发帖: 102粉丝: 3

发消息 + 关注

发表于2021年03月05日 10:17:43
直达本楼层的链接
沙发
显示全部楼层

感谢分享

点赞 评论 引用 举报

采纳成功

您已采纳当前回复为最佳回复
发表于2021年03月06日 14:31:28
直达本楼层的链接
板凳
显示全部楼层

感谢分享

点赞 评论 引用 举报

采纳成功

您已采纳当前回复为最佳回复

lipeng2882

发帖: 0粉丝: 0

发消息 + 关注

发表于2021年03月06日 19:41:58
直达本楼层的链接
地板
显示全部楼层

了解下

点赞 评论 引用 举报

采纳成功

您已采纳当前回复为最佳回复

lipengsuning

发帖: 0粉丝: 0

发消息 + 关注

发表于2021年03月06日 19:42:36
直达本楼层的链接
5#
显示全部楼层

非常好啊

点赞 评论 引用 举报

采纳成功

您已采纳当前回复为最佳回复

suninglipeng

发帖: 0粉丝: 0

发消息 + 关注

发表于2021年03月06日 19:43:13
直达本楼层的链接
6#
显示全部楼层

学习下

点赞 评论 引用 举报

采纳成功

您已采纳当前回复为最佳回复

wangyingzhenjd

发帖: 0粉丝: 0

发消息 + 关注

发表于2021年03月06日 19:48:11
直达本楼层的链接
7#
显示全部楼层

感谢分享

点赞 评论 引用 举报

游客

富文本
Markdown
您需要登录后才可以回帖 登录 | 立即注册

结贴

您对问题的回复是否满意?
满意度
非常满意 满意 一般 不满意
我要反馈
0/200