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'

时间: 2024-11-20 10:57:42

MySql 插入数据库报错 Incorrect string value: '\xF0\xA0\x86\xA2'的相关文章

【原创】通俗易懂地解决中文乱码问题(2) --- 分析解决Mysql插入移动端表情符报错 ‘incorrect string value: '\xF0...

这篇blog重点在解决问题,如果你对字符编码并不是特别了解,建议先看看 < [原创]通俗易懂地解决中文乱码问题(1) --- 跨平台乱码 >. 当然,如果只是针对解决这个Mysql插入报错问题,本篇足够了. 一.定位错误 定位错误绝对是至关重要的一环.我建议遇到问题耐心分析一下比较好,毕竟“不是所有的牛奶都叫特仑苏”. 引起同一个问题的可能有很多,别人的解决方案也许并不适合自己. 那先看看问题出现在哪了,报错如下: 发现的确是编码错误, 16进制的错误提示(\xF0\x9F\x94\xA5\x

通俗易懂地解决中文乱码问题(2) --- 分析解决Mysql插入移动端表情符报错 ‘incorrect string value: &#39;\xF0...

原文:[原创]通俗易懂地解决中文乱码问题(2) --- 分析解决Mysql插入移动端表情符报错 'incorrect string value: '\xF0... 这篇blog重点在解决问题,如果你对字符编码并不是特别了解,建议先看看 < [原创]通俗易懂地解决中文乱码问题(1) --- 跨平台乱码 >. 当然,如果只是针对解决这个Mysql插入报错问题,本篇足够了. 一.定位错误 定位错误绝对是至关重要的一环.我建议遇到问题耐心分析一下比较好,毕竟“不是所有的牛奶都叫特仑苏”. 引起同一个问

数据库插入四字节字符报错Incorrect string value: ‘\xF0\xA3\x8E\

数据库插入四字节字符报错Incorrect string value: '\xF0\xA3\x8E\xB4\xE9\xAB.. 改变字符编码utf8mb4貌似很二 直接找到四字节那个字符改成正常的字符貌似有点简单粗暴(俺就是这么干的!O(∩_∩)O哈哈~). 大家怎么看?

MySQL 中文insert报错Incorrect string value: &#39;\xCC\xEC\xB2\xC5&#39;

    序言:中文录入失败,报错:Incorrect string value: '\xCC\xEC\xB2\xC5',如下所示:mysql> set names utf8;Query OK, 0 rows affected (0.00 sec) mysql> insert into t select 2 as a ,'天才' as b;ERROR 1366 (HY000): Incorrect string value: '\xCC\xEC\xB2\xC5' for column 'b' a

向 mysql 插入汉字时报错 Incorrect string value: &#39;\xE6\x9B\xB9\xE5\x86\xAC...&#39; for col....

Incorrect string value: '\xE6\x9B\xB9\xE5\x86\xAC...' for column 'realname' at row 1 该情况一般是由数据库设计时的编码错误导致的. show variables like 'character%'   查看数据库编码,为latin1. 如果项目正在测试当中,数据不重要的话,一劳永逸的解决办法是,使用 alert database tuanplus character set utf8 更改数据库的编码格式,再重新

mysql 插入中文字段报错 &quot;Incorrect string value: &#39;\\xE6\\xB5\\x8B\\xE8\\xAF\\x95...&#39; for column &#39;title&#39; at row 1&quot;

1. 查看一个 database 或一个 table 的编码show create database mytestdb;show create table testapp_article; mysql> show create table testapp_article;+-----------------+-----------------------------------------------------------------------------------------------

Mysql 插入时间时报错Incorrect datetime value: &#39;&#39; for column &#39;createtime&#39;

在网上找了很多方法总结如下: 1.MySQL驱动版本的问题.这种一般是在mYSQL版本更新了之后才会报错.解决方法在jdbc里添加"&useOldAliasMetadataBehavior=true" 2.可能是datetime的格式问题. datetime 以'YYYY-MM-DD HH:MM:SS'格式检索和显示DATETIME值.支持的范围为'1000-01-01 00:00:00'到'9999-12-31 23:59:59'TIMESTAMP值不能早于1970或晚于20

django admin 中文报错incorrect string value解决方案

对于错误" Incorrect string value: '\xE6\xA2\xB5\xE8\x92\x82...'for column 'object_repr' at row 1 解决方法是设置django_admin_log表的object_repr一项使用utf8_unicode_ci: 对于错误"  Incorrect string value: '\xE6\xA2\xB5\xE8\x92\x82...'for column 'change_message' at row

Mysql 插入中文错误:Incorrect string value: &#39;\xE7\xA8\x8B\xE5\xBA\x8F...&#39; for column &#39;course&#39; at row 1

create table my_user ( id tinyint(4) not null auto_increment, account varchar(255) default null, password varchar(255) default null, primary key (id) ) 插入语句 insert into my_user values('1','admin','admin'); insert into my_user values('2','admin','admi