Nếu bạn đang sử dụng PyMongo và Python 2.x, bạn nên sử dụng str trong chuỗi utf-8 hoặc unicode. Xem: http://api.mongodb .org / python / current / tutorial.html # a-note-on-unicode-string
If data
là một dict có nhiều chuỗi, bạn có thể chuyển đổi tất cả chúng thành unicode bằng cách sử dụng hàm sau:
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()
Mã trước đó sẽ chuyển đổi tất cả các giá trị str trong unicode, các "phím" vẫn không bị ảnh hưởng, tùy thuộc vào nguyên nhân gốc rễ mà bạn cũng nên chuyển đổi các "khóa".