这是一个使用pymysql(Python 3)的简单示例:
import pymysql
conn = pymysql.connect(user='admin', passwd='...', host='host', use_unicode=True)
c = conn.cursor()
c.execute("SELECT category FROM product LIMIT 0,1")
print (type(c.fetchone()[0]))
返回
< class'bytes'>
字段的类型是 varchar ,我想如果我指定 use_unicode = True ,它会将字段值返回为 str ,而不是字节即可。是的,我知道我可以将字节转换为str,但我不想。
是否可以马上获得str?我做错了什么?
答案 0 :(得分:1)
问题在于该领域的整理。由于它设置为 utf8_bin pymysql将其计为binary,尽管它是 varchar 。将排序规则更改为 utf8_general_ci 解决了这个问题。