用sqlalchemy读取sybase数据库,出现乱码,怎么解决?

from sqlalchemy import create_engine
sybase_engine = create_engine(f"sybase+pyodbc://dba:sql@sybase_second", connect_args={'charset': 'cp850'})

 

确定服务器的编码是cp850

有什么办法解决吗

CP850是欧洲字符集,需要encoding再decoding编码解码回来。

可以先尝试一下

import io
import sys
sys.stdout =  io.TextIOWrapper(sys.stdout.buffer, encoding='cp850')

sybase_engine = create_engine(f"sybase+pyodbc://dba:sql@sybase_second", connect_args={'charset': 'cp850'})
tab = pd.read_dql_query("SELECT * FROM product", sybase_engine, )
print(tab)

 

老哥终于连上了吗

cparams.update(pop_kwarg('connect_args', {'charset':'gbk'}))