gpt4 book ai didi

python - UnicodeEncodeError 并将数据插入数据库

转载 作者:行者123 更新时间:2023-11-29 02:28:46 36 4
gpt4 key购买 nike

我有一个 Python 抓取器,它抓取一个网站并将数据插入 MySql 数据库。突然间我得到了一个错误

UnicodeEncodeError: 'latin-1' codec can't encode character u'\u20ac' in position 39: ordinal not in range(256) 当我解析包含 欧元 -- 1 欧元

我看到一些描述如何解决这个问题的文章,但不明白如何将它们应用到我的问题中。我只是使用 BeautifulSoup 抓取数据,我没有手动对其进行编码/解码。

我使用这个模块 import MySQLdb 来处理 MySql。

那么我该如何解决这个问题呢?

最佳答案

我之前也有同样的问题,我想是因为Python默认使用unicode编码,而mysql默认使用latin编码,如果你的mysql数据库不支持utf-8,请使用this

只需在mysql配置文件的[client]下添加default-character-set = utf8,在[mysqld]下添加character-set-server = utf8即可。 linux下的mysql配置文件是/etc/my.cnf,windows下不知道在哪个位置,大家可以自己查下。同时,应该使用sql_con = MySQLdb.connect(host=MYSQL_ADDR , user=MYSQL_USER , passwd=MYSQL_PWD , db=MYSQL_DB , charset="utf8") 连接 mysql。为了安全你可以添加 #coding: utf8在你的 python 代码中。注意,它是一个注释。顺便说一下,你不必在 mysql5.6 中设置编码。

关于python - UnicodeEncodeError 并将数据插入数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16381318/

36 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com