在这种情况下,python中的MySQLdb模块是否返回utf8编码或unicode?

Auf*_*ind 4 python unicode encoding utf-8 mysql-python

使用MySQLdb我连接到一个数据库,其中所有内容都以utf8编码存储.

如果我做

cursor.execute("SET NAMES utf8")
Run Code Online (Sandbox Code Playgroud)

并通过另一个语句从数据库中获取一些数据.这是否意味着,字符串在

cursor.execute("SELECT ...")
cursor.fetchall()
Run Code Online (Sandbox Code Playgroud)

将是unicode?或者我必须先把它们转过来

mystr.decode("utf8")
Run Code Online (Sandbox Code Playgroud)

unicode?

Ign*_*ams 10

来自文档:

连接(参数......)
......

use_unicode

如果为True,则使用配置的字符集将CHAR和VARCHAR和TEXT列作为Unicode字符串返回.最好在服务器配置或客户端配置中设置默认编码(使用read_default_file读取).如果在连接后更改字符集(MySQL-4.1及更高版本),则需要在connection.charset中输入正确的字符集名称.

如果为False,则类似文本的列将作为普通字符串返回,但您始终可以编写Unicode字符串.

这必须是关键字参数.