我有一堆字符串,我必须插入一个sqlite数据库,但其中许多有一些奇怪的字符,什么不是。现在我可以按照我想要的格式化它,但如果我尝试将其写入我得到的文件。
UnicodeEncodeError: 'charmap' codec can't encode characters in position 82-85: character maps to <undefined>
我的代码如下所示:
statement = 'Insert into {0} values({1})'.format(table,','.join(Insert))
print(statement)
file.write(statement +'\n')
要注意,Insert只是一个列值表。现在我可以在写入之前通过编码到utf-8来修复该错误:
statement.encode('utf-8', 'ignore')
但是我写的文本文件有很多额外的字符,比如文本之前的b和'\',我认为是因为它被转换为字节而不是字符串?
编码前:
'Insert into table values ('Tue Nov 05 00:00:04 +0000 2013'
编码后:
b'Insert into table values (\'Tue Nov 05 00:00:04 +0000 2013\'
我假设我在这里做某种解码\编码错误,但没有运气。