我的编程空间,编程开发者的网络收藏夹
学习永远不晚

python MYsql中文乱码

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

python MYsql中文乱码

以前用php连mssqy时也经常出现中文乱码(中文变问号)的问题,那时就明白是编码没设置好导航,现在的Python连mssql数据库也同样出现这问题,问题一样,解决的办法当然也会相似,现在我们来看看解决方法。

 

 


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=''(www.111cn.net), 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'xb9xf9xbexb8', u'u7537 ', 35, u'xb4xf3xcfxc0'),
  (u'20093502', u'xbbxc6xc8xd8', u'u5973 ', 34, u'xc3xc0xc5xae'),
  (u'20093503', u'xc1xeexbaxfcxb3xe5', u'u7537 ', 25, u'2Bxc7xe0xc4xea'),
  (u'20093504', u'xc8xcexd3xafxd3xaf', u'u5973 ', 24, u'xc6xafxc1xc1')]
  [Finished in 0.2s]


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

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

 其实不仅仅是mssqlserver数据库,mysql(需下载MySQLdb包)、sqllite(python自带的文件数据库)、mongodb(需下载PyMongo包)等或者是普通文本文件也是类似的解决方案。
from:http://www.111cn.net/phper/python/75415.htm


免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

python MYsql中文乱码

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

下载Word文档

猜你喜欢

python MYsql中文乱码

以前用php连mssqy时也经常出现中文乱码(中文变问号)的问题,那时就明白是编码没设置好导航,现在的Python连mssql数据库也同样出现这问题,问题一样,解决的办法当然也会相似,现在我们来看看解决方法。  python一直对中文支持的
2023-01-31

mysql存储中文乱码

表现前端页面,封装到html里的中文可以显示,和后台相关的中文显示都是 ??? 。查看network请求,传参正常。查看mysql编码,是utf8。再看连接数据库的JDBC设置,也是utf8。解决问了同事,把 /etc/mysql/conf.d/mysql.c
mysql存储中文乱码
2016-01-04

mysql中文乱码记录

0.中文乱码1.查看mysql中表结构show create table log_datacharset为utf8,代码端:通过gorm修改 在创建表时候修改(这里在连接数据库时已经修改过了,但是没有修改成功)//db为已经连接好的gorm数据err :=
mysql中文乱码记录
2021-09-04

Python中文乱码解决

python 添加中文注释时出现运行失败。需要在顶部设置编码。# coding=UTF-8'''Created on 2013-8-28@author: xmyj-0210'''number = 23running = True#while
2023-01-31

Python基础2-Python中文乱码

转自:https://blog.csdn.net/apache0554/article/details/53889253前言:中文编码问题一直是程序员头疼的问题,而Python2中的字符编码足矣令新手抓狂。本文将尽量用通俗的语言带大家彻底的
2023-01-30

Python中文乱码问题(转)

1、设置PyCharm工具的编码格式:File--》setting--》Editor--》FileEncodings--》IDE encoding:utf-8 2、在PyCharm模块文件的第二行加入语句:#-*-coding:utf-8-
2023-01-31

python web.py 解决中文乱码

最开始没注意数据库的编码,使用默认的方式去连接:db = web.database(dbn='mysql', user='root', pw='lihuipeng007', host='localhost', db='test')    s
2023-01-31

python shell 中文乱码解决

python的默认文件编码是ASCll,当文件包含中文的时候,如果用python shell测试可能会出现以下错误:Non-ASCII character '\xe4' in file D:\Python27\test1.py on lin
2023-01-31

windows显示中文乱码-(Windows中文乱码)

Windows系统中出现中文乱码的原因有很多,下面列举一些常见的原因和解决方法:1. 字符编码问题:检查文本文件的字符编码是否正确,如UTF-8、GB18030等。可以使用文本编辑器如Notepad++来打开文件并选择正确的字符编码。2.
2023-09-18

linux python中文乱码怎么办

这篇文章将为大家详细讲解有关linux python中文乱码怎么办,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。linux python中文乱码的解决方法:1、查看matplotlib字体位置;2、上传字
2023-06-22

python 导入mysql乱码

本文实例展示了一个脚本python用来转化表配置数据xml并生成相应的解析代码。但是在中文编码上出现了乱码,现将解决方法分享出来供大家参考。具体方法如下:1. Python文件设置编码 utf-8 (文件前面加上 #encoding=utf
2023-01-31

mysql toad中文乱码如何解决

这篇文章主要介绍了mysql toad中文乱码如何解决的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇mysql toad中文乱码如何解决文章都会有所收获,下面我们一起来看看吧。my
2023-02-15

Python中matplotlib中文乱码解决办法

Matplotlib是Python的一个很好的绘图包,但是其本身并不支持中文(貌似其默认配置中没有中文字体),所以如果绘图中出现了中文,就会出现乱码。 matplotlib绘制图像有中文标注时会有乱码问题。实例代码:import matpl
2022-06-04

编程热搜

目录