Mysql插入数据报错java.sql.SQLException: Incorrect string value: '\xF0\x9F\x98\x8D\xE8\xBE...'
2017-08-02 10:43
579 查看
一、修改数据库
1)首先修改数据字符集
2)修改涉及此问题的表字段字符集
3)修改数据库连接池配置
我们项目用的是阿里巴巴的DruidDataSource数据库连接池,贴一下修改位置<bean id="druidDataSource" class="com.alibaba.druid.pool.DruidDataSource" ..... Add property..... <property name="connectionInitSqls" value="set names utf8mb4;" /> </bean>1
2
3
4
如果是apache的BasicDataSource
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"> .... <!-- 此配置用于在创建Connection对象时执行指定的初始化sql --> <property name="connectionInitSqls" value="set names utf8mb4;" /> </bean>
4)jdbc连接串设置:
jdbc:mysql://localhost:3306/dbname?useUnicode=true&characterEncoding=utf8 建议删除useUnicode=true&characterEncoding=utf8,
5)其他问题:
1.MySQL版本要求:不低于5.5.3(不支持utf8mb4编码) 2.JDBC驱动版本要求:mysql connector版本高于5.1.13
二、修改代码
/** * 将emoji表情替换成空串 * * @param source * @return 过滤后的字符串 */ public static String filterEmoji(String source) { if (source != null && source.length() > 0) { return source.replaceAll("[\ud800\udc00-\udbff\udfff\ud800-\udfff]", ""); } else { return source; } }
相关文章推荐
- Mysql插入数据报错java.sql.SQLException: Incorrect string value: '\xF0\x9F\x98\x8D\xE8\xBE...'
- Mysql插入数据报错java.sql.SQLException: Incorrect string value: '\xF0\x9F\x93\x8D\xE6\x88...'
- mysql插入中文数据报错 java.sql.SQLException: Incorrect string value: '\xE5\x90\x88\xE8\xAE\xA1' for column
- 解决java插入mysql时出现java.sql.SQLException: Incorrect string value: '\xF0...'问题
- mysql插入中文数据报错 java.sql.SQLException: Incorrect string value: '\xE5\x90\x88\xE8\xAE\xA1' for column
- Mysql 插入中文错误:Incorrect string value: '\xE7\xA8\x8B\xE5\xBA\x8F...' for column ? row ?
- MYSQL写入数据时报错ERROR 1366 (HY000): Incorrect string value: '\xE8\x8B\xB1\xE5\xAF\xB8...' for c 插入中文不能插入
- MySQL 存储4个字节 java.sql.SQLException: Incorrect string value: '\...' at row 1
- java.sql.SQLException: Incorrect string value: 插入中文报错
- java.sql.SQLException: Incorrect string value: '\xF0\x9F\x98\x8E' for column 'nick' at row 1
- java MySQL插入数据出现 Incorrect string value: '\xF0\x9F\x92\x8BTi...'错误
- Mysql插入中文时提示:ERROR 1366 (HY000): Incorrect string value: '\xE5\x8F\xB0\xE5\xBC\x8F...' fo
- php 解决MySQL插入数据出现 Incorrect string value: '\xF0\x9F\x92\x8BTi...'错误
- Mysql 插入中文错误:Incorrect string value: '\xE7\xA8\x8B\xE5\xBA\x8F...' for column 'course' at row 1
- 【Mysql】解决插入数据出现 Incorrect string value: '\xF0\x9F\x92\x8BTi...'错误
- 解决在MySQL中插入中文出现"Incorrect string value"的问题
- 通俗易懂地解决中文乱码问题(2) --- 分析解决Mysql插入移动端表情符报错 ‘incorrect string value: '\xF0...
- java程序向Mysql 添加数据时发生异常:java.sql.SQLException: Incorrect string value: '\xE6\x9D\x8E\xE5\x87\xA4'
- 【问题解决】MySQL5.5 向MySQL数据库中插入汉字时,提示:Incorrect string value: '\Xe7\x8E...' for column 'XXX' at row 1
- mysql 插入汉字 异常 Incorrect string value: '\xE8\xA7\x84\xE5\x88\x99' for column 'name'