2

这是一个使用 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]))

它返回

<类'字节'>

该字段的类型是varchar,我想如果我指定use_unicode=True它应该将字段值返回为str而不是bytes。是的,我知道我可以将字节转换为 str,但我不想这样做。

是否有可能立即获得 str ?我做错了什么?

4

1 回答 1

1

问题在于字段的整理。由于它被设置为utf8_bin pymysql将其视为二进制,尽管它是varchar。将排序规则更改为utf8_general_ci解决了这个问题。

于 2014-01-03T21:47:58.157 回答