Buneme Kyakilika
Buneme Kyakilika

Reputation: 1202

Python UnicodeEncodeError

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

Answers (1)

fixxxer
fixxxer

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

Related Questions