我编写了一个 python 脚本来解析 HTML 页面,获取一些字符串,然后写入 mysql 表。我正在使用该MySQLDb
模块进行数据库连接。检索到的字符串以 ISO-8859-7(希腊语)编码,这也是 MySQL 表中的默认编码。产生异常的代码如下:
def db_write(list) :
import MySQLdb as sql
try :
con = sql.connect(//database info here//)
except :
print "could not connect to database"
exit()
cur = con.cursor()
for i in my_range (8,len(list)-2,2) :
query = 'INSERT INTO as_doy VALUES (%s,"%s")' % (list[i],list[i+1])
print query
try :
cur.execute(query)
con.commit()
except :
print "failed"
con.rollback()
con.close()
我得到的例外是ERROR 1366 (HY000): Incorrect string value: '\xEF\xBF\xBD\xEF\xBF\xBD...'
我试过用 utf-8 编码字符串,用 iso-8859-7 解码和重新编码,但对我来说还没有任何效果。