当前位置:首页 > 技术分析 > 正文内容

写入数据库的内容中包含emoji表情,导致写入失败报错如何处理?

ruisui882个月前 (03-14)技术分析7


最新遇到的小问题,这种问题一般出现在移动端使用手机填写内容或者发布文章的时候输入了一些emoji表情或者其他的表情,导致写入的时候报错,一般报错内容是: Incorrect string value: '\xF0\x9F\xA4\x97\xF0\x9F...' for column 'content' at row 1。

遇到这种错误,有时候无法第一时间判断问题出在哪里,开始以为是在截取内容的时候因为字符集的问题导致截取汉字的时候出现截取了半个汉字的问题导致的报错,后来才发现是因为这种表情的问题,导致的报错。

这个问题解决起来也很简单,数据库的字符集改为的utf8mb4格式,就可以解决这个问题。

写入数据库的内容中包含emoji表情,导致写入失败报错如何处理?

有时候在创建数据库的时候设置的就是utf8mb4的可能也不会生效,原因是因为.数据库字符集的使用顺序是:数据库字符集 < 表字符集 < 表字段(列)字符集。可能你设置的数据库是utf8mb4但是字段的字符集不是,所以最好是指定到对应的字段才好。

如果在创建表时没有指定字符集,那么将默认使用数据库的字符集。同样地,如果在创建表的字段时没有指定字符集,那么将默认使用表的字符集。

MySQL支持多种字符集,其中最常用的是utf8和utf8mb4。utf8mb4是utf8的超集,支持四字节长度的UTF8字符,包括emoji的编码支持。

扫描二维码推送至手机访问。

版权声明:本文由ruisui88发布,如需转载请注明出处。

本文链接:http://www.ruisui88.com/post/2760.html

分享给朋友:

“写入数据库的内容中包含emoji表情,导致写入失败报错如何处理?” 的相关文章

vue中如何在自定义组件上使用v-model和.sync

自定义事件tips推荐始终使用 kebab-case 的事件名。(v-on会将事件名自动转换为小写,避免匹配不到)changeData ×change-data √自定义组件的v-model用法:父组件定义数据源(不需要定义修改数据的方法),在子组件标签上通过v-model="data...

jvm疯狂吃内存,到底是谁的锅?

jvm应该是每一个java程序员都需要掌握的内容,但是在没有遇到问题之前,很多都是基于理论的,唯有实战才能增加个人的知识储备。本文是从一个角度来分析是谁在狂吃内存,希望对你有所帮助。本文是易观技术人员注意到一台开发机上各个微服务进程占用内存很高,随即便展开了调查......ps:本文来源于:http...

深度解析!AI智能体在To B领域应用,汽车售后服务落地全攻略

在汽车售后服务领域,AI智能体的应用正带来一场效率和专业度的革命。本文深度解析了一个AI智能体在To B领域的实际应用案例,介绍了AI智能体如何通过提升服务顾问和维修技师的专业度及维修效率,优化汽车售后服务流程。上周我分享了AI智能体+AI小程序To C的AI应用场景《1000%增长!我仅用一个小时...

全新斯柯达柯珞克Karoq深度评测:大众替代品

“斯柯达柯珞克是一款出色的全能家庭 SUV,具有许多有用的功能”价格36,605 英镑- 49,190 英镑优点方便的 VarioFlex 后排座椅非常适合家庭入住驾驶乐趣缺点保修期短保守的内饰性格比Yeti少结论——斯柯达柯珞克是一辆好车吗?斯柯达柯珞克是在辉煌的七座 斯柯达柯迪亚克之后推出的,因...

虚幻引擎5.5现已发布 手游开发、动画制作重大改进

Epic在今天发布了虚幻引擎5.5,现可通过Epic Launcher下载。此版本在动画创作、渲染、虚拟制片、移动端游戏开发和开发人员迭代工具集等方面做出了重大改进。 官方博客:虚幻引擎5.5现已发布,在动画创作、虚拟制作和移动游戏开发方面取得了显著进步,渲染、摄像机内视觉特效和开发人员迭代等领域的...

vue打开新窗口并且实现传参,有图有真相

我要实现的功能是打开一个新窗口用来展示新页面,而且需要传参数,并且参数不能显示在地址栏里面,而且当我刷新页面的时候,传过来的参数不能丢失,要一直存在,除非我手动关闭这个新窗口,即浏览器的标签页。通过面向百度编程,发现网上的根本达不到这个效果,而且还都是坑,明明实现不了,还若有其事的写出来,于是我在标...