如何忽略以'\xa0';python中我的字符串中出现错误
我有python中的Dict列表,其中几乎所有Dict对象都至少有一个键,该键的字符串值包含非UTF-8字符。我想让它们都保持原样,并将它们插入到我的数据库中,稍后使用API将其取回 下面是我的字典列表如何忽略以'\xa0';python中我的字符串中出现错误,python,mysql,unicode,ascii,non-ascii-characters,Python,Mysql,Unicode,Ascii,Non Ascii Characters,我有python中的Dict列表,其中几乎所有Dict对象都至少有一个键,该键的字符串值包含非UTF-8字符。我想让它们都保持原样,并将它们插入到我的数据库中,稍后使用API将其取回 下面是我的字典列表 items=[ { "name": "World Bank (USA)", "shortName": "
items=[
{
"name": "World Bank (USA)",
"shortName": "WB",
"description": "<p><strong>WB - World Bank</strong> - is an international financial institution that provides loans to developing countries for capital programs. The World Bank's official goal is the reduction of poverty.</p><p> </p><p> </p>",
"legalResidence": "USA",
},.....]
我怎么能忽略这个错误,让我的字符串保持原样呢
这个问题几乎没有答案,在所有这些问题中,它们删除或替换了我不想使用的字符。
这里的问题是,您告诉Python您的源代码是UTF-8(这是默认值),而实际上它不是UTF-8。0xA0是默认Windows-1252字符集中的“非中断空格”。如果从中获得这些字符串,则可以尝试将此注释放在文件的顶部:
# -*- coding: Windows-1252 -*-
看看这会不会让事情过去。正确的处理方法是在将这些不间断的空格放入源代码之前将其转换为常规空格。“几乎所有my Dict对象都至少有一个包含非UTF-8字符的字符串值的键”-请解释。我的意思是,像我列表中的第一本字典一样,其他Dict对象的字符串中也有一些相同类型的字符。UTF-8是一种编码。该错误是在尝试解码字节对象时引发的。你在看文件吗?获取网页?我们需要看到的是发生此错误的代码。还有回溯信息,它会告诉我们更多的信息。您可以通过使用字节对象而不是字符串来“保留”奇数字符,但最好的方法可能是找出正确的编码,并使用它而不是UTF-8。@t我要做的就是找出正确的编码。您不打算告诉我们从哪里得到这个错误吗?这是一个毫无意义的问题……或者将它们转义为\u00a0,如果您想将它们保留为不间断空格。如果是这种情况,则最好使用另一个坚持ascii或写入utf-8的编辑器。
# -*- coding: Windows-1252 -*-