• Python查询数据库,中文的结果显示不出来


     表里面的数据:

    问题:查询数据库,返回结果不是中文可以,是中文的话就报错UnicodeEncodeError: 'gbk' codec can't encode character 'xd4' in position 5: illegal multibyte sequence

    源码:

    #coding:utf-8
    import pymysql
    
    conn = pymysql.connect(
        host = 'localhost',
        port = 3306,
        user = 'root',
        passwd = 'mysql',
        db = 'cltest'
    )
    
    cur = conn.cursor()
    sql = "select id,status from cost_cl where id in (1,2)"
    cur.execute(sql)
    rows = cur.fetchall()
    for dr in rows:
        print(dr)

    这个是ok的

    把查询语句改成

     寻找原因:

    方法一:不适用我,我加入会报错

    import sys

    reload(sys)

    sys.setdefaultencoding("utf8")

    方法二:也不行

    方法三:

    查看我本机的mysql编码格式

    根据https://jingyan.baidu.com/article/03b2f78c68b0c15ea237ae8d.html修改字符格式

    此时依然没用

     方法四:加了gbk编码,此时有返回结果,但是是乱码

  • 相关阅读:
    __del__ 析构方法 __init__ 构造方法
    单态模式
    面向对象小练习2
    __new__ '''魔术方法
    菱形继承
    继承:多继承
    继承: .单继承
    面向对象小练习
    __init__ 魔术方法
    如何访问私有成员
  • 原文地址:https://www.cnblogs.com/dieyaxianju/p/6890553.html
Copyright © 2020-2023  润新知