mssql乱码问题
Posted CrossPython
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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包)等或者是普通文本文件也是类似的解决方案。
以上是关于mssql乱码问题的主要内容,如果未能解决你的问题,请参考以下文章