魏襄 2022-11-28 22:29 采纳率: 100%
浏览 79
已结题

用python操作redis存储中文后,再取出的数据变成了乱码怎么办?

问题遇到的现象和发生背景

用python操作redis存储中文后,再取出的数据变成了乱码怎么办?

用代码块功能插入代码,请勿粘贴截图
redis_config = {
            "host": "192.168.3.6",
            "port": 6379,
            "db": 0
        }
        pool = redis.ConnectionPool(host=redis_config["host"],
                                    port=redis_config["port"],
                                    db=redis_config["db"])
        r = redis.Redis(connection_pool=pool,charset='UTF-8',decode_responses=True,encoding='UTF-8')
        m = "哈哈哈"
        r.hset("hash3", "title", m)
        x = r.hmget("hash1", "title")
        print(x)

运行结果及报错内容

[b'\xe5\x93\x88\xe5\x93\x88\xe5\x93\x88']

  • 写回答

4条回答 默认 最新

  • 长银的笔记本 2022-11-29 07:49
    关注

    需要decode一下

    img

    import redis
    
    redis_config = {
        "host": "127.0.0.1",
        "port": 6379,
        "db": 0
    }
    
    pool = redis.ConnectionPool(host=redis_config["host"],
                                      port=redis_config["port"],
                                      db=redis_config["db"])
    r = redis.Redis(connection_pool=pool, charset='utf-8', decode_responses=True)
    m = "哈哈哈"
    r.hset("hash3", "title", m)
    x = r.hmget("hash3", "title")
    print(x[0].decode("utf-8"))
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

问题事件

  • 系统已结题 12月7日
  • 已采纳回答 11月29日
  • 赞助了问题酬金15元 11月28日
  • 创建了问题 11月28日