zoukankan      html  css  js  c++  java
  • 1366, "Incorrect string value: '\xF0\x9F\x91\x89\xE3\x80...' for column 'content' at row 1"

    问题描述: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

     

  • 相关阅读:
    LeetCode 21. 合并两个有序链表
    LeetCode 20. 有效的括号
    LeetCode 19. 删除链表的倒数第N个节点
    AI
    http
    IP地址
    wiodows /linux CMD
    git
    AI
    JS常用的获取值和设值的方法
  • 原文地址:https://www.cnblogs.com/yoyowin/p/12343549.html
Copyright © 2011-2022 走看看