1、问题产生情况

在开发IM时有些有用的头像用了emoji表情或者聊天的时候用了emoji表情,然而mysql数据库用的编码是utf8_general_ci,就是utf-8编码,结果也就报错误了。emoji表情存不了在数据库。

java.sql.SQLException: Incorrect string value: '\xF0\x9F\x92\xAA",...' for column 'raw_json' at row 1

2、为什么会出现这种原因

因为mysql的utf8编码的一个字符最多3个字节,但是一个emoji表情为4个字节,所以utf8不支持存储emoji表情。但是utf8的超集utf8mb4一个字符最多能有4字节,所以能支持emoji表情的存储。

3、解决方案

方案一:修改数据库的编码集设置为utf8mb4,无论是数据库还是表,还是字段。虽然会增加存储,但是这个可以忽略不计。

方案二: 有时候原因不能修改数据库编码之类的,可以用java对emoji表情进行转化编码,例如emoji-java这种对emoji表情进行特殊处理的jar哦,然后保存或者去掉表情,这也是一种折中的解决方案。

emoji java_java存储emoji表情解决方案相关推荐

  1. emoji java_java 处理emoji表情信息转换为String

    2种方式实现: 注意:如果发现运行时java.lang.NoClassDefFoundError:异常就是缺少了jar包.添加对应的jar包就可以. 一.emoji-java-4.0.0.jar实现 ...

  2. 【Mysql】存储emoji表情报错(Incorrect string value: ‘\xF0\x9F\x98\x82\xF0\x9F...‘)的解决方案

    [Mysql]存储emoji表情报错(Incorrect string value: '\xF0\x9F\x98\x82\xF0\x9F...')的解决方案 参考文章: (1)[Mysql]存储emo ...

  3. SpringCloud工作笔记071---mysql字符集 utf8 和utf8mb4 的区别_utf8是不能存储emoji表情字符集的

    JAVA技术交流QQ群:170933152 可以简单的理解 utf8mb4 是目前最大的一个字符编码,支持任意文字. 为什么会有UTF8MB4? 既然utf8应付日常使用完全没有问题,那为什么还要使用 ...

  4. Sequelize+MySQL存储emoji表情

    一.原因 mysql的utf8编码的一个字符最多3个字节,但是一个emoji表情为4个字节,所以utf8不支持存储emoji表情.但是utf8的超集utf8mb4一个字符最多能有4字节,所以能支持em ...

  5. 存储emoji表情或特殊字符报错(Incorrect string value: ‘\xF0\x9F\x98\x82\xF0\x9F...‘)

    今天发生一件有趣的事情. 我的博客 我在一篇文章中使用了**emoji表情**,前面很顺利,不管是WordPress还是其他博客园啥的,都是正常发送. 但是,我在Typecho系统中发布文章时.... ...

  6. mysql设置可以存表情_Mysql实例使MySQL能够存储emoji表情字符的设置教程

    <MysqL实例使MysqL能够存储emoji表情字符的设置教程>要点: 本文介绍了MysqL实例使MysqL能够存储emoji表情字符的设置教程,希望对您有用.如果有疑问,可以联系我们. ...

  7. mysql存储emoji表情方式

    本文为沉默王二原创作品,欢迎转载,请保留出处,微信ID:qing_geee 本文链接: https://blog.csdn.net/qing_gee/article/details/102781789 ...

  8. emoji表情mysql报错_MySql存储emoji表情报错的处理方法

    mysql存储emoji表情报错的处理方法:更改编码为utf8mb4 uft-8编码可能2个字节.3个字节.4个字节,而MySql的uft-8只支持3字节的数据,而移动端的表情数据是4字节的字符.如果 ...

  9. mysql存储图片node_Node.js教程 阿里云mysql如何支持存储emoji表情

    本篇教程介绍了Node.js教程 阿里云mysql如何支持存储emoji表情,希望阅读本篇文章以后大家有所收获,帮助大家对Node.js的理解更加深入. < 本篇主要记录nodejs项目阿里云m ...

最新文章

  1. 一个很不错的开源网站
  2. SOA、SOAP、RPC、REST、DUBBO的区别与联系
  3. 全网段ip扫描工具安卓_我是如何打造个人专属网络扫描利器
  4. 训练dnn_[预训练语言模型专题] MT-DNN(KD) : 预训练、多任务、知识蒸馏的结合
  5. php 类加载其它类,PHP 命名空间 namespace / 类别名 use / 框架自动载入 机理的
  6. STM32 RCC时钟配置
  7. JAVA标准输出错误输出,从tsls输出中提取标准错误
  8. class matplotlib.figure.Figure
  9. pytorch数据增强
  10. mysqli_connect参数的写法以及如何设置特定端口
  11. 数据传递型情景下事件机制与消息机制的架构设计剖析(目录)
  12. fwr171改无线服务器,迅捷(Fast)FWR171无线路由器3G路由模式设置
  13. Linux内核4.17再获捷报
  14. 【资料目录收藏】.NET开发必看资料53个 经典源码77个
  15. Java读取数据库中的数据
  16. Django - 模型层 - 关系类型字段
  17. 小熊派BearPi-IoT(GD)之IoT Studio开发环境搭建
  18. 英文简历模板计算机专业,2016年计算机专业英文简历模板
  19. mysql中dint_MySQL基础篇(1)SQL基础
  20. RedisConnectionFactory is required异常解决

热门文章

  1. 微信API证书过期,获取API证书
  2. 朱小坤:天工国际(天工集团)举办中国特钢研讨会
  3. 做网站用香港服务器好还是美国服务器好?
  4. 调用高德地图展示车辆行驶轨迹
  5. centos6修改服务器主机名,centos修改服务器主机名
  6. 微机计算机原理及应用ppt,微机原理及应用-第一章 计算机基础知识课件.ppt
  7. 特斯拉避免宠物于车内热衰竭 车辆添加「狗狗模式」
  8. matlab描述统计分析步骤,数据的统计分析与描述matlab
  9. 基于51单片机温湿度检测采集系统无线蓝牙APP上传方案原理图设计
  10. 立创eda学习笔记二十三:如何将原理图和焊盘关联?(交叉选择)