Django with MySQL:无效的utf8字符串:';800363&x27;如何修复它?

Django with MySQL:无效的utf8字符串:';800363&x27;如何修复它?,mysql,python,django,python-3.x,Mysql,Python,Django,Python 3.x,当我从Django将数据存储到MySQL时,我得到一个错误: Django Version: 1.7.7 Exception Type: Warning Exception Value: Invalid utf8 character string: '800363' Exception Location: /home/virtualenv/examenv/lib/python3.4/site-packages/MySQLdb/cursors.py in _warning_check, l

当我从Django将数据存储到MySQL时,我得到一个错误:

Django Version: 1.7.7
Exception Type: Warning
Exception Value:    
Invalid utf8 character string: '800363'
Exception Location: /home/virtualenv/examenv/lib/python3.4/site-packages/MySQLdb/cursors.py in _warning_check, line 127
Python Executable:  /home/virtualenv/examenv/bin/python3
Python Version: 3.4.4
模型

我已经创建了utf-8格式的数据库
如何修复此错误?

如果没有堆栈跟踪或产生错误的行,这是盲目猜测。但是,我确实在您的模型中看到了一个二进制字段。我想您使用的是Python MySql连接器

我通过将二进制数据编码为hex bytestring解决了这个bug。实际上,我并不指望这能解决任何问题,二进制就是二进制,但我就是这样让它工作的:

import binascii
bin_data = some_function()  
repr(bin_data)
>>> b"R\x89\x9e\x86\xc6" # or something like that
test = Test()
# ...
hex_bin_data = binascii.hexlify(bin_data)
test.test = hex_bin_data
test.save()

hex\u bin\u数据
输出也是
字节
。这让我很烦。Python是如何区分
bin_数据
hex_bin_数据
?应该有相同的字节吗?

嗨,Alexey,我有相同的问题,你解决了吗?提前谢谢
import binascii
bin_data = some_function()  
repr(bin_data)
>>> b"R\x89\x9e\x86\xc6" # or something like that
test = Test()
# ...
hex_bin_data = binascii.hexlify(bin_data)
test.test = hex_bin_data
test.save()