emoji表情 mysql转移,mysql中emoji表情存储
背景
在mysql 5.7.19,创建的数据库默认选择的编码是utf8 -- UTF-8 Unicode,因此字段默认的编码为utf-8,但在项目开发中存在一个需求:在某个字段中存储混有emoji表情的字符串,此时以普通编码格式如utf8来存储emoji表情时,会报
org.springframework.orm.jpa.JpaSystemException: could not execute statement; nested exception is org.hibernate.exception.GenericJDBCException: could not execute statement
...
Caused by: org.hibernate.exception.GenericJDBCException: could not execute statement
...
Caused by: java.sql.SQLException: Incorrect string value: '\xF0\x9F\x92\x95\xE2\x80...' for column 'android_id' at row 1
请求的实例
1578993398622.png
解决方案
把android_id这个字段的编码格式改为:utf8mb4,如在Navicat中修改:
1578993290834.png
修改mysql的配置
Windows下:在my.ini配置文件的[mysqld]下面添加:character_set_server=utf8mb4
重启mysql服务
在服务中找到mysql,点击重启
以上三步操作后就可以愉快的存储emoji表情啦。
小结
utf8与utf8mb4的区别:
UTF-8编码中,一个英文字符占用一个字节的存储空间,一个中文(含繁体)占用三个字节的存储空间。
UTF8MB4:MySQL在5.5.3之后增加了utf8mb4的编码,mb4就是most bytes 4的意思,专门用来兼容四字节的unicode。因此可以用来存储emoji表情。
拓展
当同时对编码类型为utf8的validated字段 和utf8mb4的android_id 字段联合查询时
在spring data jpa中查询会报该异常
List findByAndroidIdAndValidated(String androidId, boolean flag);
异常如下
Caused by: java.sql.SQLException: Illegal mix of collations (utf8mb4_general_ci,IMPLICIT) and (utf8_general_ci,COERCIBLE) for operation '='
而在Navicat中使用sql查询并不会报错
SELECT * FROM `toilet` where android_id = 'Miss.龙
emoji表情 mysql转移,mysql中emoji表情存储相关推荐
- MySQL 字符串删除表情符_字符串中Emoji表情处理
吃了经验的亏,因为Emoji表情引起的项目bug被撸主遇到两次了,总有一些调皮的小朋友爱用表情来搞点事.第一次把当时那个表改为utf8mb4解决了,第二次说啥都不好使.网上找了半天,发现好多人不去实验 ...
- 关于mysql叙述中错误的是什么_以下关于MySQL的叙述中,错误的是( )。_学小易找答案...
[单选题]以下关于外键约束的描述不正确的是() [单选题]在创建视图的SQL语句中,保留字AS之后接续的是(). [单选题]按照国家标准规定,一般抽屉桌下沿距离坐面至少()左右的净空. [多选题]工作 ...
- 给大佬递java表情_给大佬端东西表情包app,给大佬递东西表情包图片大全免费版预约 v1.0-手游汇...
给大佬端东西表情包app是一款非常有趣的全新表情包服务应用,为用户带来各种各样的图片表情,这个表情包就是围绕着大佬,给大佬们递上各种各样的东西,配上最有趣的蘑菇头外表,让这个图片表情变得更好看更有趣, ...
- mysql 过滤微信昵称表情_PHP正则过滤处理微信昵称中emoji字符的方法
本文实例讲述了PHP正则过滤处理微信昵称中emoji字符的方法.分享给大家供大家参考,具体如下: 今天刚做了一个微信应用,在获取微信昵称的过程中报错了,经查原因是微信昵称中包含emoji字符,在写入数 ...
- 表情符号mysql utf8mb4_mysql utf8mb4与emoji表情
一 什么是Emoji emoji就是表情符号:词义来自日语(えもじ,e-moji,moji在日语中的含义是字符) 表情符号现已普遍应用于手机短信和网络聊天软件. emoji表情符号,在外国的手机短信里 ...
- 当mysql遇到爱疯emoji表情
2019独角兽企业重金招聘Python工程师标准>>> 字符创中遇到爱疯的emoji表,普通mysql不支持怎么办? 解决1:配置mysql编码为 utf8mb4字符集,mysql必 ...
- mysql存微信你曾_Mysql存储微信Emoji表情问题
问题 Tomcat 中报 Java 如下错误: java.sql.SQLException: Incorrect string value: '\xF0\x9F\x8D\x87 \xE7...' fo ...
- mysql emoji表情_让MySQL支持Emoji表情 mysql 5.6
最近在做微信相关的项目,其中MySQL 要存储emoji表情,因此发现我们常用的utf8 字符集根本无法存储表情.网上有不少替代方案.本人还是采用了修改MySQL字符集的方案简单快捷. 首先将我们数据 ...
- Emoji输入法表情过滤,方式mysql存储不下
package charset; import org.apache.commons.lang.StringUtils; /** * 输入法表情过滤,方式mysql存储不下,目前mysql只能支持1- ...
- php处理emoji表情方法,PHP实战:3种方法轻松处理php开发中emoji表情的问题
<PHP实战:3种方法轻松处理php开发中emoji表情的问题>要点: 本文介绍了PHP实战:3种方法轻松处理php开发中emoji表情的问题,希望对您有用.如果有疑问,可以联系我们. 背 ...
最新文章
- U平方Net:深入使用嵌套的U型结构进行显著目标检测
- Ubuntu:最简单的Ubuntu安装工具Wubi
- 高性能MySQL(二)
- oracle检查外键依赖,Oracle中检查外键是否有索引的SQL脚本分享
- ipython文件每次打开重新运行吗_iPython中的多处理:当我不打开任何文件时打开的文件太多?...
- day22,ConfigParser,subprocess,xlrd三个模块
- vbs读取服务器上的txt文件,用VBS读取每行一行的txt文件
- 饭卡可以用水冲洗吗_关于饭卡使用与管理的规定
- 泰坦尼克号幸存者预测
- 面试题:线上CPU飙高如何排查
- java openoffic linux_windows/linux服务器上java使用openoffice将word文档转换为PDF(亲测可用)...
- java的inputbox_InputBox函数的使用方法
- 12032 解救小哈
- 月亮私房菜——秘制辣椒油!让你辣得够味!辣得过瘾!
- 高仿新闻教程--新闻Item的布局复习(3)
- 红轴和青轴哪个手感好 红轴和青轴哪个玩游戏好
- 信息系统开发与管理【四】之 总体规划
- linux 纪元时间转换,[转]Linux下时间函数time gettimeofday
- Java生成微信小程序二维码,5种实现方式,一个比一个简单
- 记一次 Centos7 yum 安装、配置 PgAdmin4
热门文章
- 成功解决IPython.core.display.HTML object
- 编译器处理虚函数的原理
- 比较IC卡、ID卡、M1卡、CPU卡它们之间有什么区别
- VR和AR的联系和区别
- WRF运行wrf.exe出现forrtl: severe (174): SIGSEGV, segmentation fault occurred问题原因与解决合集
- OpenAi ChatGPT注册及使用教程
- android缓存清理代码,安卓缓存清除和计算
- 属于程序员的“高考”考题,我估计没准还有很多人没有看过(建议不要收藏)
- 邮箱密码忘了怎么找回
- 为什么趁年轻就应该去创业?