python3用sqlalchemy时候,用mysql,当Collation是utfbin,主键是varchar是无法使用的,会报一个无法把bin转换str的错误。如果是非主键是varchar,可以使用,但是读出来是bin,然后要手动decode下,代码有点繁琐。
一开始遇到这个问题,varchar做主键,我查了很多资料,后来在stackoverflow发现有人在django也遇到类似这种错误。
所以应该是python在decode方面的问题。
所以如果用python做处理的时候,Collation不要用utf_bin,可以使用 utf8_general_ci