码迷,mamicode.com
首页 > 其他好文 > 详细

1366, "Incorrect string value: '\\xF0\\x9F\\x91\\x89\\xE3\\x80...' for column 'content' at row 1"

时间:2020-02-22 00:44:26      阅读:185      评论:0      收藏:0      [点我收藏+]

标签:article   utf8编码   步骤   net   color   报错   gen   cmd   识别   

问题描述:Python从网站中抓取网页文本保存到MySQL数据中,对应数据库字段为longtext,字符编码utf-8。部分插入成功,部分插入失败,报错如下。
1366, "Incorrect string value: ‘\\xF0\\x9F\\x91\\x89\\xE3\\x80...‘ for column ‘content‘ at row 1"

是因为mysql不能识别4个字节的utf8编码的字符,抛出了异常,这应该也是问题的根源。?、??、类似于这种4个字节,将对应字符类型换成将对应的数据类型改为utf8mb4类型,同时连接类型也要改成utf8mb4_general_ci.

原因:

Mysql里UTF8编码最多只能支持3个字节,而Emoji表情字符使用的UTF8编码,很多都是4个字节,有些甚至是6个字节。

解决:

把要存入的数据库和表的编码及改为utf8mb4

技术图片

 

 

还有python连接数据库的属性也要修改字符集

技术图片

 

 故:按以上操作,重新建数据库和表

操作后,产生第二个报错信息:

 

(2019, “Can’t initialize character set utf8mb4 (path: /usr/share/mysql/charsets/)”) 错误解决方案

原因是mysql的驱动不支持,解决方法:

卸载mysql-python,改为安装 mysqlclient 最新版, windows下安装则  http://www.lfd.uci.edu/~gohlke/pythonlibs/#mysqlclient  下载,然后就支持了。

在以上网址中下载

技术图片

 

 

参考文章:https://blog.csdn.net/wzqnls/article/details/53412635

 

 找对应的版本下载,在win中安装whl文件。

win中安装whl文件的步骤:

1 . pip install wheel

2 . pip install  [whl文件的全路径名]  或者 在whl所在的目录下,使用cmd,然后 pip install xxxx.whl

 

 

 

1366, "Incorrect string value: '\\xF0\\x9F\\x91\\x89\\xE3\\x80...' for column 'content' at row 1"

标签:article   utf8编码   步骤   net   color   报错   gen   cmd   识别   

原文地址:https://www.cnblogs.com/yoyowin/p/12343549.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!