博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
移动端的emoji表情符号插入MySQL数据库失败
阅读量:6390 次
发布时间:2019-06-23

本文共 705 字,大约阅读时间需要 2 分钟。

插入数据时候报了错:### Error updating database. Cause: Java.sql.SQLException: Incorrect string value: ‘\xF0\x9F\x98\x84’ for column ‘bak2’ at row 1

这是因为:移动端的emoji表情符号是4个字节,而MySQL的utf8编码最多3个字节,所以插入不进去

解决方法:

1:让用户都主流些,去掉那些乱七八糟的表情。。。不大可能

2:过滤掉非主流字符。。。不太人性化

3:将MySQL的编码从utf8转换成utf8mb4,可以从根本上解决问题,具体如何转换参考如下文章: 

http://www.it165.net/database/html/201405/6581.html 
http://www.it165.net/database/html/201408/7544.html 
http://www.it165.net/database/html/201408/7550.html 
http://www.w 2 bc.com/Article/8533

4:我的解决方法:由于数据库已经建好了,有了大量正式数据,安全起见,我是通过转码的方式解决的,入库前encode一下,出库前decode一下。虽然略显繁琐,但是问题也能解决。

通过这件事,给我的启示:在移动互联网迅速发展的今天,为了避免emoji表情入库失败问题,涉及移动相关的数据库在建表之前建议都采用utf8mb4字符集。 

http://m.blog.csdn.net/blog/everything_is_ok/42454451

你可能感兴趣的文章
RStudio版本号管理 整合Git
查看>>
使用 PHPMailer 发送邮件
查看>>
文件系统管理 之 Linux 创建文件系统及挂载文件系统流程详解
查看>>
CSS选择器学习小结
查看>>
什么叫贸工技发展模式?什么叫技工贸发展模式?
查看>>
MyEclipse for Spring 10.0: GWT 2.1 and Spring Scaffolding
查看>>
水木-搜索引擎技术版
查看>>
yiStack平台维护
查看>>
oracle11g程序调优纪实
查看>>
webview页面和壳通信的库(精简版)
查看>>
手把手教你如何加入到github的开源世界! (转)
查看>>
NFS 配置服务
查看>>
iOS Swift编程语言
查看>>
Android 实现闹钟功能
查看>>
graal
查看>>
Win10 安装msi 提示2502、2503的错误代码 -- 命令提示符(管理员) -- msiexec /package...
查看>>
组策略脚本的趣味应用
查看>>
corosync+pacemaker高可用集群
查看>>
一文总结学习 Python 的 14 张思维导图
查看>>
景安河南机房电力事故,部分主机和云服务器停机
查看>>