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.
Torxed
23.6k15 gold badges91 silver badges135 bronze badges
asked Aug 19, 2013 at 14:58
Buneme Kyakilika
1,2023 gold badges13 silver badges34 bronze badges
1 Answer 1
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')
answered Nov 16, 2013 at 11:05
fixxxer
16.3k15 gold badges64 silver badges78 bronze badges
Sign up to request clarification or add additional context in comments.
Comments
Explore related questions
See similar questions with these tags.
default
print(repr('...'))say the character consists of? the '...' being the odd characters.