UnicodeDecodeError: код «ascii» c не может декодировать байт 0xc5 в позиции 10: порядковый номер не в диапазоне (128) при чтении данных из таблицы DB2 - PullRequest
0 голосов
/ 07 января 2020

получение ошибки при чтении данных из таблицы DB2 с использованием PYTHON 3.x.

UnicodeDecodeError: код 'ascii' c не может декодировать байт 0xc5 в позиции 10: порядковый номер не находится в диапазоне ( 128)

1 Ответ

0 голосов
/ 03 апреля 2020

По умолчанию и Python, и ваш драйвер ODB C проверяют ваши языковые настройки в Linux, чтобы определить кодировку по умолчанию.

Сначала установите ваши языковые настройки следующим образом:

export LC_ALL=C.UTF-8

Во-вторых, вместо использования строковых литералов в запросах SQL, используйте параметры:

Например, измените

c.execute("INSERT INTO table (data) VALUES ('non-ascii stuff')"

на

c.execute("INSERT INTO table (data) VALUES (?)", ['non-ascii stuff'])
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...