質問

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.

役に立ちましたか?

解決

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')
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top