Как изменить параметр кодирования в create_engine sqlalchemy? - PullRequest
1 голос
/ 16 октября 2019

Я попытался установить параметр кодирования функции create_engine из sqlalchemy, но это не сработало.

Я попытался:

conn = create_engine('oracle+cx_oracle://myid:mypassword@LAPTOP-5668M0F5:1521/ORCL?mode=2',encoding = "cp949")

Но после установки параметра кодирования в 'cp949'сообщение об ошибке по-прежнему выглядит следующим образом:

UnicodeDecodeError: 'utf-8' codec can't decode byte 0xbc in position 0: invalid start byte

Я не знаю, почему кодек все еще находится в состоянии 'utf-8', хотя я изменил параметр кодирования как 'cp949'.

1 Ответ

0 голосов
/ 16 октября 2019

Попробуйте, перед подключением:

import os
os.environ["NLS_LANG"] = '.cp949'

Я использую:

import os
from sqlalchemy import create_engine
os.environ["NLS_LANG"] = '.AL32UTF8'
engine = create_engine("oracle+cx_oracle://USERNAME:PASSWORD@ADRESS:1521/ORCL?charset=utf8", echo=True)
SQLText1 = "SELECT 'Test' FROM dual"
conn = engine.connect()
df = pd.read_sql_query(SQLText1, engine)
df

Попробуйте: charset = cp949

...