不管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')
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')