2013-08-19 67 views
2

我試圖插入一些數據與此statment MySQL數據庫:的Python UnicodeEncodeError

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) 

我知道它談論的字符 - 它的'...'在推文結尾,但不知道如何繞過它。

+0

print(repr('...'))'表示該字符是由什麼組成的? '...'是奇怪的字符。 – Torxed

+0

你是什麼意思? – AndroidDev

+0

this:'\ xe2 \ x80 \ xa6' – AndroidDev

回答

5

我猜你正在使用MySQLDb連接。

如果是這樣,應該在連接字符串中使用charset和use_unicode參數。默認情況下,MySQLdb使用Latin-1:

import MySQLdb  
dbcon = MySQLdb.connect(user="root",db="twitter",use_unicode=True,charset='UTF8')