如何在Mongodb中保存非ASCII字符

时间:2014-04-15 06:13:10

标签: mongodb python-2.7 unidecoder

这个问题重复了,但我无法在上下文中找到问题的答案。我想在mongo DB中将Aéropostale保存为字符串:

name='Aéropostale'
obj=Mongo_Object()
obj.name=name
obj.save()

当我保存对象时,出现以下错误:

  

UnicodeDecodeError:' ascii'编解码器不能解码位置2中的字节0xd1:序数不在范围内(128)

如何继续以原始格式保存字符串并以相同格式检索?

1 个答案:

答案 0 :(得分:4)

当您使用Python 2.7时,您需要做一些事情:

  1. Specify the file encoding,在文件顶部添加与此类似的字符串:

    #coding: utf8
    
  2. 使用unicode string,因为您的字符串不是ASCII,并指定编码。我在这里使用utf8,其中包括é

    name = unicode('Aéropostale', 'utf8')