emoji字符不能插入MySQL数据库,提示“'\xF0\x9F\x98\x84' for column 'XXXX' at row 1”
2024-08-29 01:51:17
从网络中取下的数据解析后不能插入数据库,提示某个字段有问题,问题提示如下:
SQLException: Incorrect string value: '\xF0\x9F\x98\x84' for column 'wei_content' at row 1
查阅资料后发现,是由于emoji字符和数据库有差异,不能直接存储
解决方案一:
将内容中的emoji字符去掉:
public String removeNonBmpUnicode(String str) {
if (str == null) {
return null;
}
str = str.replaceAll("[^\\u0000-\\uFFFF]", "");
return str;
}
解决方案二:
设置数据库参数:
1.将MySQL编码从utf8转换成utf8mb4:
修改MySQL安装目录下的my.cnf
2.修改数据表的编码为utf8mb4
执行命令:ALTER TABLE TABLE_NAME CONVERT TO CHARACTER SET utf8mb4;
至此应该可以解决问题了。。
最新文章
- 错误:下列软件包有未满足的依赖关系: openssh-server : 依赖: openssh-client (= 1:7.1p1-4)
- 敏捷开发与jira之研发管理模式
- Effective java读书笔记
- TypeScript - 基本类型系统
- [py]chr ord
- shell笔记-local、export用法 、declare、set
- Linux ---pptpd部署
- C#IEnumerator.MoveNext 方法 ()
- php foreach 使用&;(与运算符)引用赋值要注意的问题
- ASP.NET-FineUI开发实践-5
- Android高效的应用程序开发工具集1---ant构建一个简单的Android工程
- 自定义VS程序异常处理及调试Dump文件(一)
- mshadow的原理--MXNet
- GridFS Example
- Tensorflow入门(安装)
- libmysqlclient16 libmysqlclient-dev
- ADC相关参数之---分辨率和精度
- kafka速度为什么快
- Go语言设计模式实践:迭代器(Iterator)
- Elasticsearch 监控插件安装(elasticsearch-head与Kibana)
热门文章
- 快充 IC BQ25896 如何判斷 手機插著 adapter 充電器時,adapter Iout 大於限制,adapter Vout 小於 限制,導致 battery 不但沒充電且還需放電。
- https的简单学习
- Yii CActiveForm 客户端验证(enableClientValidation)和自定义验证
- es6 --数组--Array.from() 、Array.isArray()、Array.of()、find()、findIndex()、fill()、entries() 、keys() ,values()
- [ONTAK2010]Peaks
- mysql 设置默认id自增开始下标
- eclipse主题下载网站
- 手机微硬盘读取速度>;50MB/s eMMC技术浅析
- Android自定义xml解析
- [LeedCode OJ]#85 Maximal Rectangle