문제

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