失败场景
用户昵称中存在emoji表情,调用jdbc往mysql数据库插入的时候抛出异常 java.sql.SQLException: Incorrect string value: '\xF0\x9F\x90\x9B'
失败原因
mysql的utf8编码的一个字符最多3个字节,但是一个emoji表情为4个字节,所以utf8不支持存储emoji表情。但是utf8的超集utf8mb4一个字符最多能有4字节,所以能支持emoji表情的存储。
下面话不多说了,来一起看看详细的介绍吧
解决方案
一. 修改database、table、column字符集
修改database字符集
ALTER DATABASE 数据库名 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci;
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
软考中级精品资料免费领
- 历年真题答案解析
- 备考技巧名师总结
- 高频考点精准押题
- 资料下载
- 历年真题
193.9 KB下载数265
191.63 KB下载数245
143.91 KB下载数1148
183.71 KB下载数642
644.84 KB下载数2756
相关文章
发现更多好内容- Java 代理模式常见的应用场景有哪些?(java代理模式的应用场景是什么)
- 如何在 Java 中求平均值?(java怎么求平均值)
- Redis客户端自动化操作:提升效率与准确性
- Java 如何打印数组的全部内容?(java怎么打印数组全部内容)
- 在IDEA中如何配置Java开发环境?(IDEA中怎么配置Java开发环境)
- Java NoSQL 分布式部署的具体步骤是怎样的?(java nosql分布式部署如何进行)
- Java 依赖倒置原则的作用究竟是什么?(java依赖倒置的作用是什么)
- Redis客户端日志分析技巧:提升数据监控与性能优化
- Java Quarter 数据校准的详细步骤及技巧(java quarter如何进行数据校准)
- Java 中线程间通信的方法有哪些?(java线程间通信的方法是什么)
猜你喜欢
AI推送时光机mysql中插入emoji表情失败的原因与解决
数据库2024-04-02
MySQL插入不了中文数据问题的原因及解决
数据库2023-05-05
怎么解决MySQL命令窗口中文乱码或插入中文数据失败的问题
数据库2024-04-02
咦!没有更多了?去看看其它编程学习网 内容吧