2

次のステートメントを使用して、MySQL データベースにデータを挿入しようとしています。

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.…')

しかし、私はこのエラーが発生しています:

UnicodeEncodeError: 'latin-1' codec can't encode character u'\u2019' in position 119: ordinal not in range(256)

ツイートの最後にある「…」で、どのキャラクターについて話しているかはわかりますが、それを回避する方法がわかりません。

4

1 に答える 1

5

MySQLDb を使用して接続していると思います。

その場合は、接続文字列で charset および use_unicode パラメータを使用する必要があります。デフォルトでは、MySQLdb は Latin-1 を使用します。

import MySQLdb    
dbcon = MySQLdb.connect(user="root",db="twitter",use_unicode=True,charset='UTF8')
于 2013-11-16T11:05:10.443 に答える