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包)等或者是普通文本文件也是类似的解决方案。
总结以上是内存溢出为你收集整理的mssql乱码问题全部内容,希望文章能够帮你解决mssql乱码问题所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)