找回密码
 立即注册

扫一扫,访问微社区

QQ登录

只需一步,快速开始

查看: 2587|回复: 0

[求助] 通过SQLAlchemy导出msSQL的中文是乱码,要怎么解决?

1

主题

1

帖子

1

积分

贫民

积分
1
BennyShi 发表于 2017-7-25 11:40:41 | 显示全部楼层 |阅读模式
mssql数据库编码为gbk
折腾了两天,几乎把能google到的答案试了一遍,求助攻

乱码如下:
  rp_sysid name data_type     caption logic_name default_value sort_no
0     1001   bt        11    ¿ªÊ¼Ê±¼ä         bt      2010-9-9    None
1     1001   et        11    ½áÊøʱ¼ä         et      2019-9-9    None
2     1002   bt        11  ¿ªÊ¼Ê±¼ä£º         bt      2010-9-9    None
3     1002   et        11  ½áÊøʱ¼ä£º         et      2019-9-9    None
4     1003   bt        11    ¿ªÊ¼ÈÕÆÚ         bt      2010-9-9    None
5     1003   et        11    ½áÊøÈÕÆÚ         et      2019-9-9    None


              warn_sysid   warn_type         warn_info span_time  
0       fhr_disconnected  Ì¥ÐÄÂʱ¨¾¯  Ì½Í·ÍÑÂä(Ì¥ÐÄÒ»)         0  
1   machine_disconnected    ×Ó»ú±¨¾¯          ×Ó»ú¶ÏÏß         0  
2       fhr_disconnected  Ì¥ÐÄÂʱ¨¾¯  Ì½Í·ÍÑÂä(Ì¥ÐÄÒ»)         0  
3   machine_disconnected    ×Ó»ú±¨¾¯          ×Ó»ú¶ÏÏß         0  
4       fhr_disconnected  Ì¥ÐÄÂʱ¨¾¯  Ì½Í·ÍÑÂä(Ì¥ÐÄÒ»)         0  
5       fhr_disconnected  Ì¥ÐÄÂʱ¨¾¯  Ì½Í·ÍÑÂä(Ì¥ÐÄÒ»)         0  
6       fhr_disconnected  Ì¥ÐÄÂʱ¨¾¯  Ì½Í·ÍÑÂä(Ì¥ÐĶþ)         0  
7   machine_disconnected    ×Ó»ú±¨¾¯          ×Ó»ú¶ÏÏß         0  
8       fhr_disconnected  Ì¥ÐÄÂʱ¨¾¯  Ì½Í·ÍÑÂä(Ì¥ÐÄÒ»)         0  
9       fhr_disconnected  Ì¥ÐÄÂʱ¨¾¯  Ì½Í·ÍÑÂä(Ì¥ÐĶþ)         0  
10      fhr_disconnected  Ì¥ÐÄÂʱ¨¾¯  Ì½Í·ÍÑÂä(Ì¥ÐÄÈý)         0  
11  machine_disconnected    ×Ó»ú±¨¾¯          ×Ó»ú¶ÏÏß         0  
12      fhr_disconnected  Ì¥ÐÄÂʱ¨¾¯  Ì½Í·ÍÑÂä(Ì¥ÐÄÒ»)         0  
13      fhr_disconnected  Ì¥ÐÄÂʱ¨¾¯  Ì½Í·ÍÑÂä(Ì¥ÐĶþ)         0  
14      fhr_disconnected  Ì¥ÐÄÂʱ¨¾¯  Ì½Í·ÍÑÂä(Ì¥ÐÄÈý)         0  
15  machine_disconnected    ×Ó»ú±¨¾¯          ×Ó»ú¶ÏÏß         0  
16      fhr_disconnected  Ì¥ÐÄÂʱ¨¾¯  Ì½Í·ÍÑÂä(Ì¥ÐĶþ)         0  
17  machine_disconnected    ×Ó»ú±¨¾¯          ×Ó»ú¶ÏÏß         0  
18      fhr_disconnected  Ì¥ÐÄÂʱ¨¾¯  Ì½Í·ÍÑÂä(Ì¥ÐÄÒ»)         0  
19      fhr_disconnected  Ì¥ÐÄÂʱ¨¾¯  Ì½Í·ÍÑÂä(Ì¥ÐĶþ)         0  
20  machine_disconnected    ×Ó»ú±¨¾¯          ×Ó»ú¶ÏÏß         0  
21      fhr_disconnected  Ì¥ÐÄÂʱ¨¾¯  Ì½Í·ÍÑÂä(Ì¥ÐÄÒ»)         0  
22      fhr_disconnected  Ì¥ÐÄÂʱ¨¾¯  Ì½Í·ÍÑÂä(Ì¥ÐĶþ)         0  
23  machine_disconnected    ×Ó»ú±¨¾¯          ×Ó»ú¶ÏÏß         0  


代码:
# 创建连接,连接的是SQLServer数据库
# '数据库类型+数据库驱动名称://用户名:密码@机器地址:端口号/数据库名'
# engine = create_engine('mssql+pyodbc://' + ServerName + '/' + Database)
# engine = create_engine("postgresql://scott:tiger@localhost/test")
engine = create_engine('mssql+pymssql://@localhost/SRDB')
conn_SQLServer = engine.connect()
metadata = MetaData(conn_SQLServer)
table_names = engine.table_names()
def export_table(table_name):
    # 查询表
    tbl = Table(table_name, metadata, autoload=True, schema="dbo")

    # select所有
    sql = tbl.select()

    # 执行sql
    result = conn_SQLServer.execute(sql)

    # 保存到dataFrame
    df = pd.DataFrame(data=list(result), columns=result.keys())
    # 解决python原始输出时乱码
    # 打印当前表的字段和内容
    print(df)
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表