0

INSERTロシア語で実行しようとすると、次のエラーが発生しました。

sql =   """SELECT provider FROM main_app_provider WHERE provider LIKE %s"""
cursor.execute(sql, args)

[ print statement ]
SELECT provider FROM main_app_provider WHERE provider LIKE Централ%
  ...
  File "/Library/Python/2.7/site-packages/MySQLdb/connections.py", line 202, in unicode_literal
return db.literal(u.encode(unicode_literal.charset))
UnicodeEncodeError: 'latin-1' codec can't encode characters 
in position 0-6: ordinal not in range(256)

これを修正するにはどうすればよいですか?

4

1 に答える 1

2

MySQLdb はデフォルトで latin-1 を使用するため、使用する文字セットを設定する必要があります。(この質問を参照してください: python encoding problem with mysqldb )

接続を作成するときにこれを行います。

conn=MySQLdb.connect(hostname, username, password, database, charset='utf8')
于 2012-12-04T21:11:02.580 に答える