标签归档:sql转义

MySQLdb sql转义与编码处理

进行转义操作时,MySQLdb.escape_string(sql) 中sql的编码是utf8(前提相关表的connection-charset为utf8,即与数据库的connection-charset保持一致)。

由于不管connection的charset是什么,cursor.execute只需要unicode的字符串,在执行上面的转义sql时,需要解码:execute(MySQLdb.escape_string(sql).decode('utf8'))。