Сохранить юникод в Redis, но получить ошибку

Я использую mongodb и Redis, Redis — это мой кеш.

Я кеширую объекты mongodb с помощью redis-py:

obj in mongodb: {u'name': u'match', u'section_title': u'\u6d3b\u52a8', u'title': 
u'\u6bd4\u8d5b', u'section_id': 1, u'_id': ObjectId('4fb1ed859b10ed2041000001'), u'id': 1}

объект, полученный из redis с помощью hgetall(key, obj):

{'name': 'match', 'title': '\xe6\xaf\x94\xe8\xb5\x9b', 'section_title': 
'\xe6\xb4\xbb\xe5\x8a\xa8', 'section_id': '1', '_id': '4fb1ed859b10ed2041000001', 'id': '1'}

Как видите, объект, полученный из кеша, имеет значение str вместо unicode, поэтому в моем приложении есть ошибка, например: кодек ascii не может декодировать байт 0xe6 в позиции 12: порядковый номер не в диапазоне (128)

Может ли кто-нибудь дать несколько предложений? спасибо

5
задан goofansu 15 May 2012 в 10:48
поделиться