2

我正在尝试使用以下语句将一些数据插入 MySQL 数据库:

INSERT INTO tweets(tweeter,tweet)VALUES ('Lord_Sugar','RT @BTSport: This cerebral figure succeeds in insulting everyone’s intelligence. @CalvinBook looks at Kinnears impact on #NUFC http://t.…')

但我收到此错误:

UnicodeEncodeError: 'latin-1' codec can't encode character u'\u2019' in position 119: ordinal not in range(256)

我知道它在谈论哪个角色——它在推文末尾的“……”,但不知道如何绕过它。

4

1 回答 1

5

我猜您正在使用 MySQLDb 进行连接。

如果是这样,您应该在连接字符串中使用 charset 和 use_unicode 参数。MySQLdb 默认使用 Latin-1:

import MySQLdb    
dbcon = MySQLdb.connect(user="root",db="twitter",use_unicode=True,charset='UTF8')
于 2013-11-16T11:05:10.443 回答