[英]Remove non utf-8 characters from string in Python 3.4
我正在尝试从MySQL检索一些数据,但是在读取数据时遇到问题。 列数据类型是带有utf8_general-ci的varchar。 我尝试对其进行解码,但是它不起作用。 因此,我想删除那些非utf8字符,因为我不需要那些非utf8字符。
#This is the line causing the problem:
line: ((123, 'Classical Musicï¼\x8c', 69),)
conn = db.cursor()
conn.execute(sql)
data = conn.fetchall()
for line in data:
for x in line:
print(x)
收到错误代码
UnicodeEncodeError: 'charmap' codec can't encode character '\x8c' in position 17
我曾尝试解码('utf-8'),但又遇到另一个错误。
conn = db.cursor()
conn.execute(sql)
data = conn.fetchall()
for line in data:
for x in line:
print(x[1].decode('utf-8'))
AttributeError: 'str' object has no attribute 'decode'
Mojibake和双重编码,再加上Python的处理。
重来。 使所有内容变为utf8-文本,连接, CHARACTER SET
,html标头。
如果仍然有问题,请回来; 希望您的代码足够接近,可以更正我们开出的解决方案。
同时,在这里阅读更多线程。 混乱的简单版本比比皆是。
C3AF C2BB C2BF
应该是花哨的逗号,对吗? utf8十六进制应为EFBC8C
。 逗号产生了什么过程?
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.