一尘不染

python中的Unicode

redis

现在,我将elixir与mysql数据库一起使用,并将redispy与redis一起使用,并在所有位置选择UTF-8。我想用中文写一些数据,{'Info':‘8折’,'Name':'家乐福'}但是我得到的是这样的:

{'Info': u'8\u6298', 'Name': u'\u5bb6\u4e50\u798f'}

在我将该字典存储到redis并通过redispy将其取出后,它变为:

{"Info": "8\u6298", "Name": "\u5bb6\u4e50\u798f"}

我知道如果我加入u'之前8\u6298,并打印它会守我"8折",但有一个功能或另一个解决这个问题?


阅读 268

收藏
2020-06-20

共1个答案

一尘不染

后者看起来像json,请先尝试对其进行解码:

import json

resp = '{"Info": "8\u6298", "Name": "\u5bb6\u4e50\u798f"}'
print json.loads(resp)

## {u'Info': u'8\u6298', u'Name': u'\u5bb6\u4e50\u798f'}
2020-06-20