【发布时间】:2014-12-20 06:29:03
【问题描述】:
如何使用pymongo在mongodb中存储“\xac\xbb,v\xc9o\xa8\x18\x89\x95\xd8K\x03AZ\xac”等非utf-8字符串?
如果我使用通常的方式执行此操作,我会收到一条错误消息“文档中的字符串必须是有效的 UTF-8:'\xac\xbb,v\xc9o\xa8\x18\x89\x95\xd8K\x03AZ\ xac'"
【问题讨论】:
如何使用pymongo在mongodb中存储“\xac\xbb,v\xc9o\xa8\x18\x89\x95\xd8K\x03AZ\xac”等非utf-8字符串?
如果我使用通常的方式执行此操作,我会收到一条错误消息“文档中的字符串必须是有效的 UTF-8:'\xac\xbb,v\xc9o\xa8\x18\x89\x95\xd8K\x03AZ\ xac'"
【问题讨论】:
你有两个选择:
将字符串从其当前编码转换为 UTF-8,因为 MongoDB 仅支持文档中的 UTF-8 编码字符串;您可以为此使用python的string encoding functions
使用 PyMongo 中的binary submodule 将字符串作为二进制数据存储在二进制类型字段中。
【讨论】: