python操作mysql中文显示乱码的解决方法

yipeiwu_com6年前Python基础

本文实例展示了一个脚本python用来转化表配置数据xml并生成相应的解析代码。
但是在中文编码上出现了乱码,现将解决方法分享出来供大家参考。

具体方法如下:

1. Python文件设置编码 utf-8 (文件前面加上 #encoding=utf-8)
2. MySQL数据库charset=utf-8
3. Python连接MySQL是加上参数 charset=utf8
4. 设置Python的默认编码为 utf-8 (sys.setdefaultencoding(utf-8)

示例代码如下:

复制代码 代码如下:
#encoding=utf-8
 
import sys
import MySQLdb as mdb
 
reload(sys)
sys.setdefaultencoding('utf-8')
 
con = None
 
try:
    con = mdb.Connect('localhost','root','jobin','zmld',charset='utf8')
    cur = con.cursor()
    cur.execute("show full columns from player")
 
    numRows = int(cur.rowcount)
 
    for i in range(numRows):
        row = cur.fetchone()
        comment = row[len(row) - 1]
        print comment
finally:
    if con:
        con.close()

希望本文所述对大家的Python程序设计有所帮助。

相关文章

python网络编程学习笔记(七):HTML和XHTML解析(HTMLParser、BeautifulSoup)

一、利用HTMLParser进行网页解析 具体HTMLParser官方文档可参考http://docs.python.org/library/htmlparser.html#HTMLPa...

Python 'takes exactly 1 argument (2 given)' Python error

Python初学,定义urlConfig 接收参数,正常传递参数时,出现,多给了一个参数的错误问题, 定义class的函数之后,在调用的时候出现“'takes exactly 1 arg...

Pycharm 设置自定义背景颜色的图文教程

Pycharm 设置自定义背景颜色的图文教程

Pycharm可以通过设置主题来设定背景颜色,但主题的背景颜色也仅仅局限特定的几种,通过如下的方式可以自定义背景颜色。 File——Settings——Editor——General——...

解决Pandas的DataFrame输出截断和省略的问题

解决Pandas的DataFrame输出截断和省略的问题

我们看一个现象: import pandas as pd titanic = pd.read_csv('titanic_data.csv') print(titanic.head()...

详解Python中的元组与逻辑运算符

详解Python中的元组与逻辑运算符

Python元组 元组是另一个数据类型,类似于List(列表)。 元组用"()"标识。内部元素用逗号隔开。但是元素不能二次赋值,相当于只读列表。 #!/usr/bin/python...