最近在爬取微信公众号文章的过程中,发现文章中存在emoji时,会报以下错误:
pymysql.err.InternalError: (1366, "Incorrect string value: '\\xF0\\x9F\\x93\\xBD \\xC2...' for column 'article' at row 1")
报错原因:mysql utf-8 编码储存的是 2-3个的字节,而emoji则是4个字节。
在将数据库和数据表的字符集都改为utfmb4之后,发现还是不行参照博文:
原来还要在my.cnf里修改下mysqld的character-set-server,把它改为utf8mb4,然后重启mysqld,就可存入Emoji字符了。
以下是我的修改步骤:
- 进入到 /usr/local/mysql/support-files 目录,发现Mac没有这个my.cnf
- 既然没有,那就在桌面创建一个my.cnf,将以下代码复制其中:
# Example MySQL config file for small systems.
#
# This is for a system with little memory (<= 64M) where MySQL is only used
# from time to time and it&