• python MySQLdb中文乱码


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

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

    我用了下面几个措施,保证MySQL的输出没有乱麻:
        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)

    mysql_test.py
       

    #encoding=utf-8
    import sys
    import MySQLdb
    
    reload(sys)
    sys.setdefaultencoding('utf-8')
    
    db=MySQLdb.connect(user='root',charset='utf8')
    cur=db.cursor()
    cur.execute('use mydb')
    cur.execute('select * from mytb limit 100')
    
    f=file("/home/user/work/tem.txt",'w')
    
    for i in cur.fetchall():
        f.write(str(i))
        f.write(" ")
    
    f.close()
    cur.close()

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

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

    设置 MySQL 的 my.cnf 文件,在 [client]/[mysqld]部分都设置默认的字符集(通常在/etc/mysql/my.cnf): 

    [client]
    default-character-set = utf8
    [mysqld]
    default-character-set = utf8
  • 相关阅读:
    POJ 1797 Heavy Transportation
    洛谷 P3379 【模板】最近公共祖先(LCA)
    洛谷 P1351 联合权值
    51nod 1272 最大距离
    codevs 1664 清凉冷水
    COGS 1176. [郑州101中学] 月考
    HDU
    HDU
    一坨计算几何的板子
    bzoj2618[Cqoi2006]凸多边形
  • 原文地址:https://www.cnblogs.com/cmsd/p/3853967.html
Copyright © 2020-2023  润新知