Reputation: 1202
I am trying to insert some data into a MySQL Database with this statment:
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.…')
But I am getting this error:
UnicodeEncodeError: 'latin-1' codec can't encode character u'\u2019' in position 119: ordinal not in range(256)
I know which character its talking about - its '…' at the end of the tweet, but don't know how to get around it.
Upvotes: 2
Views: 1098
Reputation: 16144
I'm guessing that you are connecting using MySQLDb.
If that is so, you should use charset and use_unicode parameters in your connection string. MySQLdb by default uses Latin-1:
import MySQLdb
dbcon = MySQLdb.connect(user="root",db="twitter",use_unicode=True,charset='UTF8')
Upvotes: 5