Python操作MySQL以及中文乱码的问题

Python操作MySQL需要安装Python-MySQL
可以从网上搜索一下,和一般的Python包一样安装

安装好之后,模块名字叫做MySQLdb ,在Window和Linux环境下都可以使用,试验了一下挺好用,
不过又发现了烦人的乱麻问题,最后用了几个办法,解决了!

我用了下面几个措施,保证MySQL的输出没有乱麻:
    1 Python文件设置编码 utf-8 (文件前面加上#encoding=utf-8)
    2 MySQL数据库charset=utf-8
    3Python连接MySQL是加上参数 charset=utf8
    4 设置Python的默认编码为 utf-8(sys.setdefaultencoding(utf-8)

mysql_test.py
   
Python操作MySQL以及中文乱码的问题-LMLPHP#encoding=utf-8
Python操作MySQL以及中文乱码的问题-LMLPHP
import sys
Python操作MySQL以及中文乱码的问题-LMLPHP
import MySQLdb
Python操作MySQL以及中文乱码的问题-LMLPHP
Python操作MySQL以及中文乱码的问题-LMLPHPreload(sys)
Python操作MySQL以及中文乱码的问题-LMLPHPsys.setdefaultencoding(
'utf-8')
Python操作MySQL以及中文乱码的问题-LMLPHP
Python操作MySQL以及中文乱码的问题-LMLPHPdb
=MySQLdb.connect(user='root',charset='utf8')
Python操作MySQL以及中文乱码的问题-LMLPHPcur
=db.cursor()
Python操作MySQL以及中文乱码的问题-LMLPHPcur.execute(
'use mydb')
Python操作MySQL以及中文乱码的问题-LMLPHPcur.execute(
'select * from mytblimit 100')
Python操作MySQL以及中文乱码的问题-LMLPHP
Python操作MySQL以及中文乱码的问题-LMLPHPf
=file("/home/user/work/tem.txt",'w')
Python操作MySQL以及中文乱码的问题-LMLPHP
Python操作MySQL以及中文乱码的问题-LMLPHP
for i in cur.fetchall():
Python操作MySQL以及中文乱码的问题-LMLPHP    f.write(str(i))
Python操作MySQL以及中文乱码的问题-LMLPHP    f.write(
" ")
Python操作MySQL以及中文乱码的问题-LMLPHP
Python操作MySQL以及中文乱码的问题-LMLPHPf.close()
Python操作MySQL以及中文乱码的问题-LMLPHPcur.close()

上面是linux上的脚本,windows下运行正常!

注:MySQL的配置文件设置也必须配置成utf8

设置 MySQL 的 my.cnf 文件,在 [client]/[mysqld]部分都设置默认的字符集(通常在/etc/mysql/my.cnf):
[client]
default-character-set = utf8
[mysqld]
default-character-set = utf8
11-06 12:33
查看更多