[英]Python/Mysql Russian INSERT
尝试使用俄语进行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)
我该如何解决这个问题?
MySQLdb默认使用latin-1,你必须设置你想要它使用的字符集。 (看到这个问题: mysqldb的python编码问题 )
我在创建连接时这样做,例如
conn=MySQLdb.connect(hostname, username, password, database, charset='utf8')
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.