हम एक ही समस्या में भाग गए कि BLOB को गलती से MySQL 8.0.13, mysql-connector-python 8.0.13 और sqlalchemy 1.2.14 के साथ UTF-8 स्ट्रिंग्स के रूप में पढ़ लिया गया था।
हमारे लिए use_pure
. को सक्षम करने की तरकीब क्या थी? MySQL Connector का विकल्प
. use_pure
. का डिफ़ॉल्ट सी एक्सटेंशन का उपयोग करने के लिए नए डिफ़ॉल्ट के साथ 8.0.11 में बदल गया था। इस प्रकार, हम विकल्प को वापस सेट करते हैं:
create_engine(uri, connect_args={'use_pure': True}, ...)
हमारी त्रुटि और स्टैक ट्रेस का विवरण:
UnicodeDecodeError: 'utf-8' codec can't decode byte 0x9c in position 1: invalid start byte
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
....
File "/usr/local/lib/python3.6/site-packages/mysql/connector/cursor_cext.py", line 272, in execute
self._handle_result(result)
File "/usr/local/lib/python3.6/site-packages/mysql/connector/cursor_cext.py", line 163, in _handle_result
self._handle_resultset()
File "/usr/local/lib/python3.6/site-packages/mysql/connector/cursor_cext.py", line 651, in _handle_resultset
self._rows = self._cnx.get_rows()[0]
File "/usr/local/lib/python3.6/site-packages/mysql/connector/connection_cext.py", line 273, in get_rows
row = self._cmysql.fetch_row()
SystemError: <built-in method fetch_row of _mysql_connector.MySQL object at 0x5627dcfdf9f0> returned a result with an error set