输入法表情 mysql_Emoji表情符号在MySQL数据库中的存储
在Android手机或者iPhone的各种输入法键盘中,会自带一些Emoji表情符号,如IPhone手机系统键盘包含的表情符号有:
IPhone Emoji.png
如果在移动端发布文本内容时包含了这种Emoji表情符号,通过接口传递到服务器端,服务器端再存入MySQL数据库:
对gbk 字符集的数据库,写入数据库的数据,在回显时,变成 ‘口口’ 无法回显;
对utf8 字符集的数据库,则根本无法写入数据库,程序直接报出异常信息
java.io.exception xxxxxxxx.
原因分析:
Emoji表情符号为4个字节的字符,而 utf8 字符集只支持1-3个字节的字符,导致无法写入数据库。
解决方案:
遍历输入的文本,把四字节长度的字符,修正为自定义的字符替换掉。
修改MySQL数据库字符集, 把数据库字符集从utf8 修改为支持1-4 个字节字符的utf8mb4。
事实上可以看出,第一种方案的工作量较大,并不可取。推荐使用第二种方案,修改数据库字符集。从MySQL 5.5.3版本开始,数据库可支持4个字节的utf8mb4 字符集,一个字符最多可以有4个字节,所以能支持更多的字符集,故能存储Emoji表情符号。从 mysql 5.5.3 之后版本基本可以无缝升级到 utf8mb4 字符集。同时,utf8mb4兼容utf8字符集,utf8 字符的编码、位置、存储在utf8mb4与utf8字符集里一样的,不会对有现有数据带来损坏。
升级方案:
修改数据库字符集character-set-server=utf8mb4 重启数据库生效。
修改database 的字符集为 utf8mb4 alter database dbname character set utf8mb4
修改表的字符集 为utf8mb4 , alter table character set = utf8mb4
附上:
Emoji 全编码字符集:IOS Emoji
输入法表情 mysql_Emoji表情符号在MySQL数据库中的存储相关推荐
- 在mysql中怎么存储表情符号_Emoji表情符号在MySQL数据库中的存储
在Android手机或者iPhone的各种输入法键盘中,会自带一些Emoji表情符号,如IPhone手机系统键盘包含的表情符号有: IPhone Emoji.png 如果在移动端发布文本内容时包含了这 ...
- mysql 手机表情符号_Emoji表情符号在MySQL数据库中的存储
在Android手机或者iPhone的各种输入法键盘中,会自带一些Emoji表情符号,如IPhone手机系统键盘包含的表情符号有: IPhone Emoji.png 如果在移动端发布文本内容时包含了这 ...
- mysql数据库中的存储引擎
mysql数据库中的存储引擎 文章目录 mysql数据库中的存储引擎 mysql中包含的存储引擎 1.InnoDB存储引擎 1.1简介 1.2InnoDB体系架构 1.2.1后台线程 1.2.2内存 ...
- 微信表情符号 mysql_Emoji表情符号入MySQL数据库报错的解决方案
Emoji表情符号入MySQL数据库报错的解决方案 发布时间:2020-08-15 08:21:52 来源:ITPUB博客 阅读:136 作者:bestpaydata auther:Jane.Hoo ...
- MySQL 数据库中如何存储经纬度
数据库保存经纬度,需要采用什么数据类型,小数点应该精确多少位? 赤道周长(米) 度数(度) 40076000 360 111322.2222 1 11132.22222 0.1 1113.222222 ...
- mysql插入表情_向MySQL数据库中插入带emoji表情符的数据时报错
问题:向MySQL数据库中插入带emoji表情符的数据时报错 原因:utf8字符集不支持emoji表情符,需要改为utf8mb4字符集(utf8mb4是MySQL在5.5.3之后增加的,实际开发中建议 ...
- 关于mysql数据库中插入特殊字符(emoji表情)报错1366的问题注意点
项目场景: 提示:这里简述项目相关背景: 将Excel里面的数据保存的mysql数据库中,系统报错如下: 查询了解到,系数据库编码格式不支持保存emoji字符串格式:网上有很多教程,让我们把数据库的编 ...
- php 评论中添加手机表情,提示插入到数据库中出错,有解决办法
最近在用手机上的表情对某一个文章进行评论时,发现插入到数据库的语句出错了, 就是插入表情的那一句出的错 具体的解决方法是: 文章评论表:articleComment,我需要向其中的content字段中 ...
- bd2和mysql语法区别,经验:在MySQL数据库中,这4种方式可以避免重复的插入数据!...
最常见的方式就是为字段设置主键或唯一索引,当插入重复数据时,抛出错误,程序终止,但这会给后续处理带来麻烦,因此需要对插入语句做特殊处理,尽量避开或忽略异常,下面我简单介绍一下,感兴趣的朋友可以尝试一下 ...
最新文章
- 本科计算机专业考北大软微,2022北京大学软微学院计算机智能科技考研必看经验指导(含复试解析)...
- Redis学习之intset整数集合源码分析
- rm -fr后的恢复
- 【音视频安卓开发 (六)】Android GLSurfaceView播放视频
- 设置网页打开默认全屏_微信公众号里的视频不能进行全屏播放的解决方法
- CCF201912-2 回收站选址
- Ubuntu下TP5隐藏入口文件
- iis 6 7 8预加载,提升web访速
- Vegas渲染的时候选什么格式?
- youtube下载利器
- 计算机课件制作总结,课件制作比赛活动总结范文
- 复制网页上不能复制的文字
- 差之毫厘.失之千里 英语学习新需求之.支持通配符的电子字典
- 小米手机mix2手机刷入root工具、面具root管理工具、以及xp框架安装
- Jetpack Compose--声明式UI替代传统命令式UI的新产品
- FoxyProxy插件在浏览器的配置
- “应用程序配置不正确,应用程序未能启动” 错误的解决
- Spring Cloud GateWay系列(三):路由规则动态刷新
- 依赖:类之间的依赖关系【python】
- 法兰克机械手手动操作_法兰克机械手操作说明