Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/three.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 3.4,字节'的解码错误\x93&x27;_Python_Mysql_Python 2.7_Python 3.4 - Fatal编程技术网

Python 3.4,字节'的解码错误\x93&x27;

Python 3.4,字节'的解码错误\x93&x27;,python,mysql,python-2.7,python-3.4,Python,Mysql,Python 2.7,Python 3.4,我只是将一个二进制模式的文件读入一个缓冲区,在该缓冲区上执行一些替换,然后将该缓冲数据插入MySQL数据库。无论采用何种编码标准,都会插入每个字节。我使用了Python2.7,它运行得很好 代码: with open(binfile,'rb') as fd_bin: bin_data = fd_bin.read() bin_data = bin_data.replace('"','\\"') db_cursor.execute("INSERT INTO table BIN_DA

我只是将一个二进制模式的文件读入一个缓冲区,在该缓冲区上执行一些替换,然后将该缓冲数据插入MySQL数据库。无论采用何种编码标准,都会插入每个字节。我使用了
Python2.7
,它运行得很好

代码:

with open(binfile,'rb') as fd_bin:
   bin_data = fd_bin.read()
   bin_data = bin_data.replace('"','\\"')
   db_cursor.execute("INSERT INTO table BIN_DATA values {}".format(bin_data))
当我使用python 3.4版本时,它需要解码,所以我使用:

   bin_data = fd_bin.read()
   bin_data = bin_data.decode('utf-8') # error at this line
上述第二行产生错误:

bindata = bindata.decode('utf-8')
UnicodeDecodeError: 'utf-8' codec can't decode byte 0x93 in position 1:invalid
start byte
我使用了
latin-1
iso-8859-1
解码方案,但它们在某些地方插入了一些额外的字节。当我从数据库中获取数据时,数据在本例中是不同的,但它是针对Python2.7版本的


如何插入该数据或解码该数据,而不考虑编码方案?我不能跳过或忽略字节。

可能重复的。老实说,这个问题在StackOverflow上出现了很多次。