[Sqlalchemy-tickets] Issue #3112: UnicodeDecodeError with pg8000 1.9.10 (zzzeek/sqlalchemy)
Brought to you by:
zzzeek
|
From: Raphael M. <iss...@bi...> - 2014-07-04 18:13:00
|
New issue 3112: UnicodeDecodeError with pg8000 1.9.10 https://bitbucket.org/zzzeek/sqlalchemy/issue/3112/unicodedecodeerror-with-pg8000-1910 Raphael Mutschler: since i've updated pg8000 from 1.08 to 1.9.10 i get UnicodeDecodeError when i query a databse that contains any unicode chars (in this special case german umlauts) setting the `encoding='utf-8'` on option in sqlalchemy seems to be ignored completely since 1.9 some traceback: ``` Traceback (most recent call last): File "debug.py", line 37, in <module> main.import_mediaserver() File "/volume1/@appstore/synodlnatrakt/share/SynoDLNAtrakt/synodlnatrakt/main.py", line 207, in import_mediaserver for result in dbresult: File "/volume1/@appstore/synodlnatrakt/share/SynoDLNAtrakt/lib/sqlalchemy/orm/query.py", line 2176, in __iter__ return self._execute_and_instances(context) File "/volume1/@appstore/synodlnatrakt/share/SynoDLNAtrakt/lib/sqlalchemy/orm/query.py", line 2191, in _execute_and_instances result = conn.execute(querycontext.statement, self._params) File "/volume1/@appstore/synodlnatrakt/share/SynoDLNAtrakt/lib/sqlalchemy/engine/base.py", line 1450, in execute params) File "/volume1/@appstore/synodlnatrakt/share/SynoDLNAtrakt/lib/sqlalchemy/engine/base.py", line 1583, in _execute_clauseelement compiled_sql, distilled_params File "/volume1/@appstore/synodlnatrakt/share/SynoDLNAtrakt/lib/sqlalchemy/engine/base.py", line 1690, in _execute_context context) File "/volume1/@appstore/synodlnatrakt/share/SynoDLNAtrakt/lib/sqlalchemy/engine/default.py", line 335, in do_execute cursor.execute(statement, parameters) File "/volume1/@appstore/synodlnatrakt/share/SynoDLNAtrakt/lib/pg8000/core.py", line 531, in execute self._c.execute(self, operation, args) File "/volume1/@appstore/synodlnatrakt/share/SynoDLNAtrakt/lib/pg8000/core.py", line 1554, in execute self.handle_messages(cursor) File "/volume1/@appstore/synodlnatrakt/share/SynoDLNAtrakt/lib/pg8000/core.py", line 1619, in handle_messages self._read(data_len - 4), cursor) File "/volume1/@appstore/synodlnatrakt/share/SynoDLNAtrakt/lib/pg8000/core.py", line 1607, in handle_DATA_ROW row.append(func(data, data_idx, vlen)) File "/volume1/@appstore/synodlnatrakt/share/SynoDLNAtrakt/lib/pg8000/core.py", line 976, in text_recv data[offset: offset + length], self._client_encoding) UnicodeDecodeError: 'ascii' codec can't decode byte 0xc3 in position 64: ordinal not in range(128) ``` with 1.08 it works perfeclty but sadly 1.08 gives me a different error sometimes: ```pg8000.errors.NotSupportedError: type oid 705 not mapped to py type``` |