对此有很多问题和修复,但似乎没有一个对我有用。我的问题是我正在读取一个包含字符串的文件并将每一行加载到数据库中。
在文件中它看起来像普通文本,而在数据库中它被读取为一个 unicode 空间。我尝试用空格和类似选项替换它,但都没有用。
例如在文本文件中,字符串将是这样的:
The abrupt departure
插入数据库后,它看起来像:
The abrupt departure
当我尝试对数据库中的数据运行查询时,它看起来像:
"The abrupt\xc2\xa0departure"
我尝试了以下方法:
if "\xc2\xa0" in str:
str.replace('\xa0', ' ')
str.replace('\xc2', ' ')
print str
上面的代码打印的字符串如下:
The abrupt departure
但是插入回DB时还是一样。
感谢任何帮助。
试试这个:
这将删除 Unicode
字符
>>> s = "The abrupt departure"
>>> s = s.decode('unicode_escape').encode('ascii','ignore')
>>> s
'The abrupt departure'
或者,您可以尝试使用 replace ,因为您已经尝试过了。但是您忘记重新分配给同一个变量。
>>> s = "The abrupt departure"
>>> s = s.replace('\xc2', '').replace('\xa0','')
>>> s
'The abrupt departure'
我是一名优秀的程序员,十分优秀!