zoukankan      html  css  js  c++  java
  • mssql乱码问题

    nvarchar类型对中文字段可以正常解码显示,但是varchar类型中文读取异常。所以字段设计最好用nvarchar类型存储中文,对于已经存在的问题,可以有两种解决方式:

    1.修改表中字段对类型,将varchar改为nvarchar

    2.采用手动编码解码方式可以解决乱码问题,data.encode('latin-1').decode('gbk')

    (1)、首先,要保证文件的开头要加上编码设置来说明文件的编码

    #encoding=utf-8

    然后,在连接数据的连接参数里加上字符集说明查询出的结果的编码,这个不加的后果可能是查询出的汉字字符都是问号

    conn=pymssql.connect(server='.',user='', password='',database='MyTest',charset='utf8')

    设置python系统的默认编码(对于文件来说,这招几乎屡试不爽,呵呵~~)

    import sys
    reload(sys)
    sys.setdefaultencoding('utf8')

    不仅仅是mssqlserver数据库,mysql(需下载MySQLdb包)、sqllite(python自带的文件数据库)、mongodb(需下载PyMongo包)等或者是普通文本文件也是类似的解决方案。

  • 相关阅读:
    NYOJ 10 skiing DFS+DP
    51nod 1270 数组的最大代价
    HDU 4635 Strongly connected
    HDU 4612 Warm up
    POJ 3177 Redundant Paths
    HDU 1629 迷宫城堡
    uva 796
    uva 315
    POJ 3180 The Cow Prom
    POJ 1236 Network of Schools
  • 原文地址:https://www.cnblogs.com/pythonClub/p/14788342.html
Copyright © 2011-2022 走看看