今天测试上传excel文件,将数据存入到数据库的功能时,遇到一个问题,在存一个字符串时报错
Incorrect string value: ‘\xF0\x9F\x8E\xB9’ for column ‘remark’ at row 4510
一直在报字符串错误数据,就很奇怪。后来查了一下,有特殊字符,这个字符是4个字节的,但是连接mysql我设置的utf-8,而UTF-8是3个字节,我不能改mysql整体的属性,就只能该自己的表,但是改成utf8mb4,刚改完是生效,但是一会儿后就又不生效了。后来看到网友提示说自己项目里jdbc的配置文件是不是设置编码格式了,一看还真是
所以在改完数据库的表的属性后,还要把关于设置编码的删掉。
完整的操作是:
1.数据库表编码属性设置
2.jdbc配置文件
将url中的characterEncoding=utf-8去掉
这样就解决问题了