iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >如何处理Python3.4 使用pymssql 乱码问题
  • 860
分享到

如何处理Python3.4 使用pymssql 乱码问题

乱码如何处理pymssql 2022-06-04 19:06:31 860人浏览 安东尼

Python 官方文档:入门教程 => 点击学习

摘要

在项目中发现这样一个问题:sqlserver数据库编码为gbk,使用python3.4+pymssql 查询,中文乱码,经过一番思考问题解决,下面把解决办法分享给大家: conn = pymssql.

项目中发现这样一个问题:sqlserver数据库编码为gbk,使用python3.4+pymssql 查询,中文乱码,经过一番思考问题解决,下面把解决办法分享给大家:


conn = pymssql.connect(host="192.168.122.141", 
port=1433, 
user="myshop", 
passWord="oyf20140208HH", 
database="mySHOPCMStock", 
charset='utf8', 
as_dict=True) cur = conn.cursor()sql = "select top 10 [ID],[Name] from [User]"cur.execute(sql)list = cur.fetchall()for row in list: print(row["ID"],row["Name"].encode('latin-1').decode('gbk'))

接下来给大家介绍python 使用pymssql连接SQL Server数据库


#coding=utf-8 
#!/usr/bin/env Python
#-------------------------------------------------------------------------------
# Name: pymssqlTest.py
# Purpose: 测试 pymssql库,该库到这里下载:Http://www.lfd.uci.edu/~Gohlke/pythonlibs/#pymssql
#
# Author: scott
#
# Created: 04/02/2012
#-------------------------------------------------------------------------------
import pymssql
class MSSQL:
"""
对pymssql的简单封装
pymssql库,该库到这里下载:http://www.lfd.uci.edu/~gohlke/pythonlibs/#pymssql
使用该库时,需要在Sql Server Configuration Manager里面将tcp/IP协议开启
用法:
"""
def __init__(self,host,user,pwd,db):
self.host = host
self.user = user
self.pwd = pwd
self.db = db
def __GetConnect(self):
"""
得到连接信息
返回: conn.cursor()
"""
if not self.db:
raise(NameError,"没有设置数据库信息")
self.conn = pymssql.connect(host=self.host,user=self.user,password=self.pwd,database=self.db,charset="utf8")
cur = self.conn.cursor()
if not cur:
raise(NameError,"连接数据库失败")
else:
return cur
def ExecQuery(self,sql):
"""
执行查询语句
返回的是一个包含tuple的list,list的元素是记录行,tuple的元素是每行记录的字段
调用示例:
ms = MSSQL(host="localhost",user="sa",pwd="123456",db="PythonWeiboStatistics")
resList = ms.ExecQuery("SELECT id,NickName FROM WeiBoUser")
for (id,NickName) in resList:
print str(id),NickName
"""
cur = self.__GetConnect()
cur.execute(sql)
resList = cur.fetchall()
#查询完毕后必须关闭连接
self.conn.close()
return resList
def ExecNonQuery(self,sql):
"""
执行非查询语句
调用示例:
cur = self.__GetConnect()
cur.execute(sql)
self.conn.commit()
self.conn.close()
"""
cur = self.__GetConnect()
cur.execute(sql)
self.conn.commit()
self.conn.close()
def main():
## ms = MSSQL(host="localhost",user="sa",pwd="123456",db="PythonWeiboStatistics")
## #返回的是一个包含tuple的list,list的元素是记录行,tuple的元素是每行记录的字段
## ms.ExecNonQuery("insert into WeiBoUser values('2','3')")
ms = MSSQL(host="localhost",user="sa",pwd="123456",db="PythonWeiboStatistics")
resList = ms.ExecQuery("SELECT id,weibocontent FROM WeiBo")
for (id,weibocontent) in resList:
print str(weibocontent).decode("utf8")
if __name__ == '__main__':
main()

编程网提醒大家需要注意事项:

使用pymssql进行中文操作时候可能会出现中文乱码,我解决的方案是:

文件头加上 #coding=utf8

sql语句中有中文的时候进行encode


insertSql = "insert into WeiBo([UserId],[WeiBoContent],[PublishDate]) values(1,'测试','2012/2/1')".encode("utf8")

连接的时候加入charset设置信息


pymssql.connect(host=self.host,user=self.user,password=self.pwd,database=self.db,charset="utf8")

--结束END--

本文标题: 如何处理Python3.4 使用pymssql 乱码问题

本文链接: https://www.lsjlt.com/news/15564.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • SUPERSET中文乱码问题如何处理
    如果在SUPERSET中出现了中文乱码问题,可以尝试以下解决方法:1. 检查数据库字符集:确保数据库字符集和SUPERSET字符集一...
    99+
    2023-05-30
    SUPERSET中文乱码 SUPERSET
  • 如何处理cmd中文乱码问题
    这篇文章主要介绍了如何处理cmd中文乱码问题,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。一、按“win+r”唤出运行窗口,输入“cmd”,点击确定。二、在命令提示符界面,输...
    99+
    2023-06-28
  • 如何处理BIRT直接读取mysql4.0 iso8859_1乱码问题
    这篇文章将为大家详细讲解有关如何处理BIRT直接读取mysql4.0 iso8859_1乱码问题,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。修改birt源码[@more...
    99+
    2024-04-02
  • 如何解决MySQL使用中文乱码问题
    这篇文章给大家分享的是有关如何解决MySQL使用中文乱码问题的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。1、中文乱码1.1、中文乱码 create table user(name&...
    99+
    2023-06-28
  • Java如何解决前端数据处理及乱码问题
    本篇文章为大家展示了Java如何解决前端数据处理及乱码问题,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。一、数据处理1. 处理提交数据提交的名称和方法的参数名一致//localhost:8080/u...
    99+
    2023-06-22
  • redis如何处理乱码
    在Redis中处理乱码需要注意以下几个方面:1. 字符编码:Redis默认使用UTF-8编码,可以在配置文件中设置字符编码。如果出现...
    99+
    2023-09-06
    redis
  • MySQL5出现乱码问题的处理办法
    本篇内容介绍了“MySQL5出现乱码问题的处理办法”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!1 设置M...
    99+
    2024-04-02
  • 如何解决em乱码问题
    如何解决em乱码问题,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。 今天登陆em发现出现部分乱码:在网上试好的方...
    99+
    2024-04-02
  • PHPShellUnrar乱码问题如何解决
    本篇内容主要讲解“PHPShellUnrar乱码问题如何解决”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“PHPShellUnrar乱码问题如何解决”吧!问题描述当使用PHPShellUnrar...
    99+
    2023-07-05
  • html如何解决乱码问题
    小编给大家分享一下html如何解决乱码问题,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!如果想要正确显示 HTML 页面,你要让浏览器知道你使用了哪种字符集。浏览...
    99+
    2023-06-27
  • php如何解决乱码问题
    这篇文章主要讲解了“php如何解决乱码问题”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“php如何解决乱码问题”吧!什么是乱码在网页开发中,乱码是指在浏览器中显示的字符集和实际编码不一致,导...
    99+
    2023-07-05
  • 如何解决mysql乱码问题
    小编给大家分享一下如何解决mysql乱码问题,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!  mysql的字符集支持(character set support)有两个方面:字...
    99+
    2024-04-02
  • 如何解决win10乱码问题
    这篇文章主要为大家展示了“如何解决win10乱码问题”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“如何解决win10乱码问题”这篇文章吧。进入控制面板,点击时钟和区域,如下图所示。进入时钟和区域...
    99+
    2023-06-26
  • 实用指南:PHP如何正确处理数据库中文乱码问题
    PHP如何正确处理数据库中文乱码问题 在开发过程中,我们经常会遇到数据库中文乱码的问题,特别是在处理中文字符时。这种问题可能会导致数据存储不准确、显示不正常甚至影响系统的稳定性。为了正...
    99+
    2024-04-02
  • 实用指南:PHP如何正确处理数据库中文乱码问题
    PHP如何正确处理数据库中文乱码问题 在开发过程中,我们经常会遇到数据库中文乱码的问题,特别是在处理中文字符时。这种问题可能会导致数据存储不准确、显示不正常甚至影响系统的稳定性。为了正...
    99+
    2024-04-02
  • 解决bat批处理输出乱码的问题
    乱码原因 Windows的cmd.exe默认编码格式为ANSI 简体中文版的Windows, 其ANSI对应微软Codepage为cp936 大致等同于GBK编码 如果你的bat文...
    99+
    2024-04-02
  • Mac Android Studio 3.0 Terminal 中文乱码问题处理
    前几天,收到 AS 发布的 3.0 更新,就迫不及待的更新了,更新后发现整个界面的画风都变了,和 IDEA 更像了本人是命令行重度使用患者,平时都是使用 AS 下面的 Terminal,升级完成后,使用 git log 命令查看历史 log...
    99+
    2023-05-30
    android studio mi
  • 如何解决android php乱码问题
    本篇内容主要讲解“如何解决android php乱码问题”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“如何解决android php乱码问题”吧!android php乱码的解决办法:1、填写对...
    99+
    2023-06-20
  • 如何解决linux ssh乱码问题
    这篇文章主要讲解了“如何解决linux ssh乱码问题”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何解决linux ssh乱码问题”吧!解决linux ssh 乱码的解决办法:1、修改l...
    99+
    2023-06-21
  • 如何解决 Git Bash 乱码问题
    在使用 Git Bash 命令行时,有时会遇到乱码的情况,特别是在 Windows 上。这是因为 Git Bash 默认使用了 UTF-8 编码,在一些系统环境下可能会跟其他字符集发生冲突,从而导致乱码问题。本文将介绍如何解决 Git Ba...
    99+
    2023-10-22
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作