蟒蛇。编码为UTF-8给我额外的字符

时间:2017-05-17 02:16:57

标签: python encoding utf-8

我有一堆字符串,我必须插入一个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\'

我假设我在这里做某种解码\编码错误,但没有运气。

0 个答案:

没有答案