zip方式安装的Mysql5.7,插入中文时出现Incorrect string value: '\xF0\x9F...' for column 'XXX' at row 1异常的解决方案

Incorrect string value: ‘\xF0\x9F...‘ for column ‘XXX‘ at row 1

这个问题,原因是UTF-8编码有可能是两个、三个、四个字节。Emoji表情或者某些特殊字符是4个字节,而Mysql的utf8编码最多3个字节,所以数据插不进去。

我的解决方案是这样的

1.在mysql的安装目录下找到my.ini,作如下修改:

[mysqld]

character-set-server=utf8mb4

[mysql]

default-character-set=utf8mb4

修改后重启Mysql

2. 将已经建好的表也转换成utf8mb4

命令:alter table TABLE_NAME convert to character set utf8mb4 collate utf8mb4_bin; (将TABLE_NAME替换成你的表名)
————————————————
版权声明:本文为CSDN博主「狼图腾-狼之传说」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/zdnlp/article/details/8852890

zip方式安装的Mysql5.7,插入中文时出现Incorrect string value: '\xF0\x9F...' for column 'XXX' at row 1异常的解决方案

原文地址:https://www.cnblogs.com/yangruishan/p/11604416.html

时间: 2024-07-29 17:44:00

zip方式安装的Mysql5.7,插入中文时出现Incorrect string value: '\xF0\x9F...' for column 'XXX' at row 1异常的解决方案的相关文章

MySQL数据库插入中文时出现Incorrect string value: '\xE6\x97\xB7\xE5\x85\xA8' for column 'sz_name' at row 1

今天在开发时候出现了这个问题 Incorrect string value: '\xE6\x97\xB7\xE5\x85\xA8' for column 'sz_name' at row 1 场景,往MySQL数据库的表中插入中文参数,抛出了这个异常 我用sqlyog执行该段代码时候发现只是出现警告,并没有出现error,但是在代码里面执行抛出了异常,说明管理工具sqlyog对有些约定不是那么严格,而代码中就会报错.提醒自己,以后写sql时候不能忽略管理工具中出现的警告. 解决方案: 在用sql

插入中文错误ERROR 1406 (22001): Data too long for column 'name' at row 1

1.在导入数据前执行以下命令即可:set SESSION sql_mode=''; 通过设置sql_mode变量更改模式.linux下安装完mysql后,默认的sql-mode值是空,在这种情形下mysql执行的是一种不严格的检查,例如日期字段可以插入’0000-00-00 00:00:00’这样的值,还有如果要插入的字段长度超过列定义的长度,那么mysql不会终止操作,而是会自动截断后面的字符继续插入操作. 但是如果我们本意希望如果长度超过限制就报错,那么我们可以设置sql_mode为STRI

Mysql 插入中文错误:Incorrect string value: '\xE7\xA8\x8B\xE5\xBA\x8F...' for column 'course' 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

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

php 解决MySQL插入数据出现 Incorrect string value: '\xF0\x9F\x92\x8BTi...'错误

在项目中向MySQL插入数据时,发现数据插入不完整,通过调试,发现插入语句也没什么特殊的错误.但是就是差不进去,于是就打开mysqli错误的调试 $ret = mysqli_query($this->conn, $sql) or die(mysqli_error($this->conn)); 结果弹出如下错误信息: Incorrect string value: '\xF0\x9F\x92\x8BTi...' 有错误信息就好办了,结果上网一查结果是:mysql编码格式utf-8格式,不支持带四

unicode表情插入数据库的问题,Incorrect string value: '\xF0\x9F\x98\x84\xF0\x9F

问题描述:从新浪微博抓取消息保存到MySQL数据中,对应数据库字段为varchar,字符编码utf-8.部分插入成功,部分插入失败,报错如标题. 在网上查询,有人说是编码问题,建议修改编码格式,比如改成gbk,UTF-8,blob等等,但是几乎没有人给出更详细的答案.在一个英文网站上,才发现真正错误的原因.链接1 链接2 错误原因:我们可以看到错误提示中的字符0xF0 0x9F 0x98 0x84 ,这对应UTF-8编码格式中的4字节编码(UTF-8编码规范).正常的汉字一般不会超过3个字节,为

向Mysql 中插入汉字(Emoji)出现 Incorrect string value

在爬虫向Mysql插入数据的时候发现会报错“”Incorrect String Value:'\xf0\x9f“”,这个问题是因为UTF-8有可能是两个,三个,四个字节,Emoji表情或者某些特殊字符是4个字节,所以从网页上爬取的内容可能包含表情,而Mysql的utf8编码最多3个字节,所以数据插不进去.解决方案如下: 在/etc下找到my.cnf,修改如下: [mysqld] character-set-server=utf8mb4 [mysql] default-character-set=

mysql 8 windows 版本zip方式安装步骤

mysql 8 windows 版本zip方式安装步骤(下载地址:https://dev.mysql.com/downloads/mysql/)1,解压ZIP文件到指定目录下:如D:\mysql-8.0.11-winx642,新建my.ini配置文件并粘贴修改如下内容:(1)baseidr路径  (2)datadir路径[mysql]# 设置mysql客户端默认字符集default-character-set=utf8 [mysqld]#设置3306端口port = 3306 # 设置mysql

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

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