Python 插入MySQL时出现Unicode错误

Python 插入MySQL时出现Unicode错误,python,mysql,character-encoding,Python,Mysql,Character Encoding,我有一个脚本,它将随机网页的内容存储到mysql数据库()。对于某些页面,我得到: ... File "/usr/lib/python2.7/dist-packages/MySQLdb/connections.py", line 264, in literal return self.escape(o, self.encoders) File "/usr/lib/python2.7/dist-packages/

我有一个脚本,它将随机网页的内容存储到mysql数据库()。对于某些页面,我得到:

...
File "/usr/lib/python2.7/dist-packages/MySQLdb/connections.py",
  line 264, in literal
return self.escape(o, self.encoders)                                         
File "/usr/lib/python2.7/dist-packages/MySQLdb/connections.py", 
  line 202, in unicode_literal
return db.literal(u.encode(unicode_literal.charset)) 

UnicodeEncodeError: 'latin-1' codec can't encode character
u'\u203a' in position 172550: ordinal not in range(256)
当我使用时,我没有任何问题

我试过这个,但没有成功:

CREATE DATABASE the_base CHARACTER SET utf8
问题: 如何正确地对数据进行编码/解码,以便将其存储在数据库中而不会出现任何问题

另外,python下的字符编码是一个永无止境的故事

已解决

将编码添加到
connect
方法:

MySQLdb.connect( ... charset='utf8', use_unicode=True )

您不能将随机unicode存储在只有256个可能条目(即拉丁-1)的编码中。将数据库中的编码更改为utf-8,您就可以开始了。

您不能将随机unicode存储在只有256个可能条目(即拉丁语-1)的编码中。将数据库中的编码更改为例如utf-8,您就可以开始了。

我刚刚尝试了
创建数据库\u基本字符集utf8
,但仍然存在相同的错误确保您的连接参数中有
charset='utf-8'
(特别是如果您的数据库和服务器有不同的编码),工作正常!实际上,它需要是
utf8
utf-8
抛出一个错误我刚刚尝试了
创建数据库基本字符集utf8
,但仍然是相同的错误确保你的连接参数中有
charset='utf-8'
(特别是当你的数据库和服务器有不同的编码时)。工作正常!实际上,它需要是
utf8
utf-8
抛出一个错误