TDB = csv.reader(codecs.open('data/TDS.csv', 'rb', encoding='utf-8'), delimiter=',', quotechar='"')
ts = db.testCol
for row in TDB:
print row[1]
T = {"t":row[1],
"s": row[0]}
post_id = ts.insert(T)
我不知道为什么我不能将它编码成utf-8而我想将数据插入数据库我必须以utf8格式制作。
UnicodeDecodeError: 'utf8' codec can't decode byte 0xf3 in position 36: invalid continuation byte
在我输入编码功能之前,我从pymongo得到了这个。
bson.errors.InvalidStringData: strings in documents must be valid UTF-8
我猜,这是无法编码的数据
'compleja e intelectualmente retadora , el ladrÛn de orquÌdeas es uno de esos filmes que vale la pena ver precisamente por su originalidad . '
任何人都知道我该怎么办?感谢
答案 0 :(得分:1)
好的,这可能会有所帮助..
这里有一个编码列表:
http://docs.python.org/2/library/codecs.html#standard-encodings
latin-1
是用于欧洲语言的常用编码。
处理编码的基本流程是:
您可以尝试通过看似正确的编码,看看哪些编码不会导致错误:
enc = "latin-1"
f = open("TSD.csv", "r")
content = f.read() # raw encoded content
u_content = content.decode(enc) # decodes from enc to unicode
utf8_content = u_content.encode("utf8")