python unicode编码问题

最近用python的mysqldb模板将数据批量的更新进数据库,然后爆了一个韩红听了想打人的错误

%u format: a number is required, not unicode

什么鬼。。。。%u不是格式化unicode的符合吗。。。。

sql_introduce = "UPDATE experiment_attrs SET content='%u' WHERE experiment_attrs.experiment_id='%s' AND experiment_attrs.title='实验介绍';" % (change_introduce, id)
cursor_1.execute(sql_introduce)
conn_1.commit()

然后这是我的代码的部分,change_introduce是从文件中读取的内容。。。

大神求救啊

http://python.jobbole.com/86670/

python中的字符串format,%u表示无符号数据,所以你应该用%s

你可以把change_introduce返回的字符串编码处理以后再构造sql字符串

 sql_introduce = "UPDATE experiment_attrs SET content='%s' WHERE experiment_attrs.experiment_id='%s' AND experiment_attrs.title='实验介绍';" % (change_introduce, id)