weixin_49096826
羽中飞人
采纳率16.7%
2021-03-02 11:06

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

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

 

确定服务器的编码是cp850

有什么办法解决吗

  • 点赞
  • 收藏
  • 复制链接分享

4条回答

  • bill20100829 歇歇 1月前

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

    点赞 评论 复制链接分享
  • weixin_49096826 羽中飞人 1月前

    点赞 1 评论 复制链接分享
  • weixin_41908433 知雀的天空 1月前

    老哥终于连上了吗

    点赞 评论 复制链接分享
  • ProfSnail ProfSnail 1月前

    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)
    点赞 评论 复制链接分享

为你推荐