我有这个脚本从我的Skype帐户打印我的用户名,全名和城市。 当城市由'é'(或'\ xe9')字符组成时,我遇到了问题。我的城市就是那个角色。 我查看了UTF-8,但它对'é','è'字符没有帮助。我需要将这些转换为正常的'e'。
con = sqlite3.connect(path + '\\' + username + '\main.db')
with con:
cur = con.cursor()
datapro = cur.execute("SELECT fullname,skypename,city, FROM Accounts;")
for row in datapro:
details = {
'[+] User ' : str(row[0]),
'[+] Skype Username ' : str(row[1]),
'[+] City ' : str(row[2]) or "unknown"
}
for i in details:
data += i + '\t' + ': ' + details[i] + '\n'
我收到错误:'ascii'编解码器无法编码位置5中的字符u'\ xe9':序数不在范围内(128) 对不起,如果我复制了一些东西,但我没有看到我的答案。 结果必须从'Guérande'(错误因此不起作用)变为'Guerande'(这里我认为有一种方法) 感谢
答案 0 :(得分:0)
如果你真的想要删除所有非ascii char并将它们映射到ascii最接近的版本,你应该尝试unidecode
包:
>>>from unidecode import unidecode
>>>unidecode("À Guérande on ramasse plutôt du sel")
'A Guerande on ramasse plutot du sel'
但为了保持口音,你应该尝试使用.encode('utf8')
在Joran评论中提出的建议。