Ошибка UnicodeDecodeError при подключении к PostgreSQL с использованием psycopg2, несмотря на кодировку UTF-8 везде
Я пытаюсь подключиться к локальной базе данных PostgreSQL, используя psycopg2 на Python. Вот код, который я использую:
import psycopg2
params = {
'dbname': 'database_name',
'user': 'user_name',
'password': 'mypassword',
'host': 'localhost',
}
for k, v in params.items():
print(f"{k}: {v} (type={type(v)}, encoded={v.encode('utf-8')})")
try:
conn = psycopg2.connect(**params)
print("Connexion OK")
conn.close()
except Exception as e:
print("Connexion Erro")
print(type(e), e)
Вывод на печать подтверждает, что все параметры являются строками и закодированы в UTF-8. Однако я по-прежнему получаю следующую ошибку:
Connexion Erro
<class 'UnicodeDecodeError'> 'utf-8' codec can't decode byte 0xe9 in position 103: invalid continuation byte
Я также проверил кодировку сервера и клиента в PostgreSQL, используя:
SHOW server_encoding;
SHOW client_encoding;
Оба возвращают UTF8.
Учитывая, что все входные данные содержат UTF-8, а база данных настроена на UTF-8, я не понимаю, почему возникает эта ошибка.
Кто-нибудь сталкивался с этим раньше или имеет представление о том, откуда может взяться этот байт 0xe9? Что еще я должен проверить?