问题: 在做webapp项目的时候,用户提交emoji数据,控制台报错:Incorrect string value: '\\xF0\\x9F\\x90\\xA8' for column 'signature' at row 1. 原因: 原mysql数据库的编码格式是utf8,mysql在存储数据的时候用的是3个字节去存储.而emoji表情要用4个字节的utf8,也就是utf8mb4格式. 解决方法: 首先需要修改mysql的配置文件: windows--> my.ini  linux-->…
问题描述: java.sql.SQLException: Incorrect string value: '\xF0\x9F\x90\xBB' for column 'nickName' at row 1         at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1094)         at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4226)    …
1.变更字段类型 ALTER TABLE api_log MODIFY COLUMN remark longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; 2.配置数据库链接 url="jdbc:mysql://XXXXXXX/dbName?useSSL=false&useUnicode=true&characterEncoding=utf8&autoReconnect=true"…
彻底解决:Incorrect string value: '\xF0\x9F\x98\xAD",...' for column 'commentContent' at row 1 今天在爬取网易云音乐歌曲评论的时候,在将数据插入mysql数据库的时候,出现了Incorrect string value: '\xF0\x9F\x98\xAD",...' for column 'commentContent' at row 1 这个错误,Google了下发现原来是因为数据库编码问题导致的,…
文章参考 https://blog.csdn.net/junsure2012/article/details/42171035 https://www.cnblogs.com/WangYunShuaiBaoLe/p/9055215.html https://www.jb51.net/article/112879.htm 背景 iOS端测试时发现,在备注一栏输出emoji表情,保存时出现系统异常 java项目架构 spring-boot+mybatis+德鲁伊连接池 现象 抛出  java.sql…
今天读取solr里面的数据,往mysql插入时报错, Incorrect string value: '\xF0\x9F\x93\x8D\xE8\x88...' for column 'title' at row 1 原因是标题有Emoj表情相关字符,因为我这边不需要保留Emoj表情,不需要复原显示,所以我选择了简单的方式,过滤字符. byte[] b_text=title3.getBytes(); for (int i = 0; i < b_text.length; i++) { if((b_…
问题原因: 输入内容包含特殊字符,MySQL 中的列不支持. 解决方法 多数是修改 MySQL 的数据库和表结构,CHARSET 改为 utf8mb4,但本人测试还是不能传入 emoji. 后来在代码中对其进行转码解决的,使用如下依赖: <dependency> <groupId>com.vdurmont</groupId> <artifactId>emoji-java</artifactId> <version>${version}…
一.中文写入乱码问题 我输入的中文编码是 urf8 的,建的库是 urf8 的,但是插入MySQL总是乱码,一堆"???????????????????????".可以使用以下的方式试试决解: 原url地址是 jdbc:mysql://localhost:3306/数据库名 改为 jdbc:mysql://localhost:3306/数据库名?useUnicode=true&characterEncoding=UTF-8 就OK了. 二.Incorrect string va…
utf-8编码可能2个字节.3个字节.4个字节的字符,但是MySQL的utf8编码只支持3字节的数据,而移动端的表情数据是4个字节的字符.如果直接往采用utf-8编码的数据库中插入表情数据,Java程序中将报SQL异常: java.sql.SQLException: Incorrect string value: '\xF0\x9F\x92\x94' for column 'name' at row 1 at com.mysql.jdbc.SQLError.createSQLException(…
异常:java.sql.SQLException: Incorrect string value: '\xF0\x9F\x92\x94' for column 'name' at row 1 解决: MySql的utf-8编码只支持3个字节的数据,而移动端的emoji是四个字节的数据,如果直接往utf-8编码的数据库中插入表情,就会报上面的错误. utf8mb4编码兼容utf-8,是utf-8编码的超集,能存储4字节的表情字符. 1,将存储表情字符的数据库表改为utf8mb4, 2,utf8mb…