2017-03-11 回答

python一直对中文支持的不好,最近老遇到编码问题,而且几乎没有通用的方案来解决这个问题,但是对常见的方法都试过之后,发现还是可以解决的,下面总结了常用的支持中文的编码问题(这些方法中可能其中一个就能解决问题,也可能是多个组合)。

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

复制代码代码如下:

#encoding=utf-8

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

复制代码代码如下:

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

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

复制代码代码如下:

import sys

reload(sys)

sys.setdefaultencoding('utf8')

注意:上述编码是“utf8”,而不是“utf-8”,我也没弄明白,大部分情况下,这个无所谓的,但是这里我试了必须要是“utf8”

一个简单的完整的python连接mssqlserver的例子如下(得安装pymssql包):

复制代码代码如下:

#encoding:utf8

import sys

reload(sys)

sys.setdefaultencoding('utf8')

import pymssql

try:

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

sql="select * from userinfo"

cur=conn.cursor()

cur.execute(sql)

data=cur.fetchall()

conn.close()

print data

except exception,e:

print e

运行结果如下:

复制代码代码如下:

[(u'20093501', u'\xb9\xf9\xbe\xb8', u'\u7537 ', 35, u'\xb4\xf3\xcf\xc0'),

(u'20093502', u'\xbb\xc6\xc8\xd8', u'\u5973 ', 34, u'\xc3\xc0\xc5\xae'),

(u'20093503', u'\xc1\xee\xba\xfc\xb3\xe5', u'\u7537 ', 25, u'2b\xc7\xe0\xc4\xea'),

(u'20093504', u'\xc8\xce\xd3\xaf\xd3\xaf', u'\u5973 ', 24, u'\xc6\xaf\xc1\xc1')]

[finished in 0.2s]

虽然摆脱了问号和乱码的困扰,但这仍不是我们想要的结果,但这个确实是正确的,因为结果是utf8编码。这个现象确实诡异,请教了许多高手,得知,最好的结果就是逐个字段查询,才能显示中文,整个查询的话,会以utf8的格式显示出来。

上述代码中第14行data是整个查询的结果,如果指定某个具体的字段,如print data[0][2](表示取查询结果的第一行第三列的字段的值),则会输出中文。

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

python3.7怎么安装pymssql_如何安装pymssql python3相关推荐

  1. 适合win7的python版本_windows下多个python版本共存,如何在Windows7系统上安装最新的64位Python3.6.2...

    windows下多个python版本共存,如何在Windows7系统上安装最新的64位Python3.6.2 1.官网下载python3.6.2 https://www.python.org/ftp/ ...

  2. python3里的pillow怎么安装_“python安装pillow教程“python3.4怎么安装pil

    "python安装pillow教程"python3.4怎么安装pil python安装pillow教程2020-10-09 03:37:02人已围观 如何在python3.6中装p ...

  3. Python3.x(windows系统)安装libxml2库

    Python3.x(windows系统)安装libxml2库 cmd安装命令: pip install lxml 执行结果: 再执行命令: pip install virtualenv 执行结果: 转 ...

  4. Win7系统中同时安装了python2.x和python3.x,如何设置默认启动的python版本

    现在Windows系统同时兼容了python2和python3的两个版本,但安装的时候会默认使用python2.x或python3.x的版本,却不是自己想要的那个默认的版本.那么,如何设置自己想要的默 ...

  5. python3.6.4安装教程-Centos7 安装Python3.6.4

    1.在安装Python之前,需要先安装一些后面遇到的依赖问题(如果有依赖问题,按照提示安装): yum -y install zlib-devel bzip2-devel openssl-devel ...

  6. python3.6.5安装教程-Centos7 安装Python3.6.5

    一.centos7 安装 Python3.6.5教程 1.在安装Python之前,需要先安装一些后面遇到的依赖问题(如果有依赖问题,按照提示安装): yum -y install zlib-devel ...

  7. python安装步骤电脑版-超详细的小白python3.X安装教程|Python安装

    安装Python 因为Python是跨平台的,它可以运行在Windows.Mac和各种Linux/Unix系统上.在Windows上写Python程序,放到Linux上也是能够运行的. 目前,Pyth ...

  8. python3.7.2安装-最新Centos7安装python3并与python2共存

    1.查看是否已经安装Python CentOS 7.2 默认安装了python2.7.5 因为一些命令要用它比如yum 它使用的是python2.7.5. 使用 python -V 命令查看一下是否安 ...

  9. python3.8.1安装教程-记一次Python3.8.1安装

    单纯的安装一个软件的确没什么可说的,但对于我来说,本次安装又确实值得记录,因为它花费了我将近8个小时的时间.从下午2点,到晚上10点.那么我到底遇到什么问题了?接下来我会细细总结一下. 系统:deep ...

最新文章

  1. jQuery中的常用内容总结(一)
  2. android studio 抓log,Android studio保存logcat日志到本地的操作
  3. 服务器指纹识别之 DNS TXT
  4. 微软职位内部推荐-Senior Development Lead – Sharepoint
  5. linux 文件夹换所属用户,Linux中账号管理之权限管理(下)
  6. python——面向对象篇之异常和反射
  7. Django接入paypal的账户-准备工作
  8. php有哪些开源社区,PHP开源社区
  9. D3 interpolate
  10. jpython 传入参数_C++嵌入Python程序(二):参数传入及返回
  11. vuex中store存储store.commit和store.dispatch的区别及用法
  12. 从“鸿沟理论”看云原生,哪些技术能够跨越鸿沟?
  13. html设置flash的背景颜色,flash 如何设置舞台大小和背景颜色?
  14. 分类学 · 狡兔为何偏要有三窟???
  15. excel计算数据的差和的公式和方法、相关系数、绝对误差
  16. 压缩包文件的解压密码如何破解
  17. java成员变量的调用_java中对象调用成员变量与成员的方法介绍
  18. 大数乘法(快速傅立叶变换)上
  19. 2021virtualbox中Ubuntu16.04:开发环境配置,更换源
  20. feel free to用法

热门文章

  1. PowerPCB 各层含义
  2. linux向函数传值的例子,linux awk 内置函数详细介绍(实例)
  3. 芒果TV 平板端 以EPG(IPTV)形式复刻
  4. 书小宅之网页设计CSS3——圆角矩形
  5. 基于C语言编程的职工工资管理系统项目的设计与开发
  6. 蔡高厅高等数学04-复合函数与反函数-初等函数
  7. 经典按键java手机游戏_随心所动 战无不胜 | 雷蛇骑仕手机游戏手柄评测
  8. 【CSDN软件工程师能力认证学习精选】 什么是前端工程化?
  9. html+css画表格,[八]HTML+CSS基础(表格)
  10. DSPF28335-CMD文件说明