MySQLdb中encode的不一致

来源:互联网 发布:中航prb打印机端口设置 编辑:程序博客网 时间:2024/05/22 22:19
不管connection的charset是什么,cursor.execute只需要unicode的字符串,这在实现中可以看出:

    query = query.encode(charset)

但connection.escape_string只接受相应charset的字符串,也就是说如果需要escape_string,就要先把unicode的query字符串编码成UTF-8,然后escape_string,最后decode成unicode:

    connection.escape_string(query_string.encode('utf8'))).decode('utf8')
原创粉丝点击