如何在Python中修复MySQL中的二进制图像检索错误

时间:2019-09-26 08:59:24

标签: python-3.7

当我尝试使用带有语法cursor.fetchall()的phyton来获取具有图像的MySQL数据时,将出现以下错误: UnicodeDecodeError:'utf-8'编解码器无法解码位置0的字节0x89:无效的起始字节

我在Windows平台上,能够使用Python在MySQL中以BLOB的形式在数据类型内引发图像,但是,当我尝试在Python中取回数据时,出现以下错误:

  

UnicodeDecodeError:'utf-8'编解码器无法解码位置的字节0x89   0:无效的起始字节

mycursor = mydb.cursor()
mycursor.execute("""
CREATE TABLE IF NOT EXISTS my_table
(name TEXT,image BLOB)""")

with open('test.png', 'rb' ) as f:

    data = f.read()

sqlFormula = "INSERT INTO my_table (name,Image) values(%s,%s)"

shot_01 = ("Shot_01",data)

mycursor.execute(sqlFormula, shot_01)

现在,如果我尝试使用以下代码在Python中获取数据:

record = mycursor.execute("""SELECT * FROM my_table""")

record=mycursor.fetchall() 

它向我抛出错误:

  

UnicodeDecodeError:'utf-8'编解码器无法解码位置的字节0x89   0:无效的起始字节

我该如何解决?

0 个答案:

没有答案