首页 > 代码库 > MySql 插入数据库报错 Incorrect string value: '\xF0\xA0\x86\xA2'

MySql 插入数据库报错 Incorrect string value: '\xF0\xA0\x86\xA2'

今天从nginx日志分析搜索关键字,然后把关键字插入到Mysql数据库里,出现如下错误

SQL state [HY000]; error code [1366]; Incorrect string value: ‘\xF0\xA0\x86\xA2‘ for column ‘XXXX‘ at row 38; nested exception is java.sql.SQLException: Incorrect string value: ‘\xF0\xA0\x86\xA2‘ for column ‘XXXX‘ at row 38

 

出现问题的sql如图所示

技术分享

后来从就从网上找答案,

http://blog.csdn.net/fuxuejun/article/details/20361669

原来是mysql数据库的编码的问题,所编码从utf-8改为utf8mb4就行了

为了测试简单我是直接把表的编码改了一下。

ALTER TABLE search_key_detail CONVERT TO CHARACTER SET utf8mb4;

然后再插入就ok了,

MySql 插入数据库报错 Incorrect string value: '\xF0\xA0\x86\xA2'