Ако използвате PyMongo и Python 2.x, трябва да използвате str в utf-8 или unicode низове. Вижте:http://api.mongodb .org/python/current/tutorial.html#a-note-on-unicode-strings
Ако data
е dict с множество низове, можете да конвертирате всички в unicode, като използвате следната функция:
def convert2unicode(mydict):
for k, v in mydict.iteritems():
if isinstance(v, str):
mydict[k] = unicode(v, errors = 'replace')
elif isinstance(v, dict):
convert2unicode(v)
for code, data in dict_data.items():
try:
convert2unicode(data)
collection2.insert({'_id':code,'data': data})
except Exception as e:
print code,'>>>>>>>', str(e)
sys.exit()
Предишният код ще преобразува всички str стойности в unicode, „ключовете“ остават недокоснати, в зависимост от основната причина трябва също да преобразувате „ключовете“.