PyMySQL 插入中文报错处理方法

作者: 林石列 分类: 学习札记 发布时间: 2017-05-04 19:13

最近需要将搜狗微信的爬虫数据存入到服务器上的 MySQL 数据中。爬虫程序使用的 Python,而且使用的是 Python3.x 。Python3.x 和 Python2 在连接数据的库是不一样的,Python2 中则使用 mysqldb 库,Python3.x 版本 则需要使用 PyMySQL 库。

关于 PyMySQL 的安装的使用比较简单,不是这篇文章讨论的重点,关于 PyMySQL 的具体使用方法,请移步 Python3 MySQL 数据库连接

在我通过 PyMySQL 链接数据库,并且成功创建数据表之后,表中插入数据的时候,发现不成功,检查后发现原来是因为插入的内容是中文导致的。通过 Google 找了很久,还是没有解决办法,最后向大数据部门的同事请教了一下,需要做两个地方改动。

第一,在链接数据的语句中加入 charset='utf8' 参数,据说是因为 PyMySQL 使用的不是utf8,所以需要特别声明。代码如下:

第二,除了在上面声明 utf8 之外,还需要在建表的过程的时候,在后面加上

至于为什么要加这个,估计也是为了在建表的时候转换格式,具体代码如下:

通过上面两个步骤,就可以解决 PyMySQL 插入中文报错的问题。

如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!

一条评论
  • Jelly

    2017-10-12 17:36

    感谢,确实不会报错了,但是在数据库中查看,中文还是显示的‘?’,不知道作者有没有遇到这种情况

发表评论

电子邮件地址不会被公开。 必填项已用*标注

This site uses Akismet to reduce spam. Learn how your comment data is processed.

%d 博主赞过: