转换为utf8 python

2024-04-19 03:56:26 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在使用Ubuntu和python3.4从wikipedia的api下载数据。我正在保存名称,我发现不同语言的字符没有正确保存。在

例如:daily保存为娺火曜dailyç。在

我想我可能不会把它保存在utf-8中,所以我把代码改为

fd = io.open("filename",'w',encoding='utf8')
fd.write(str(name.encode('utf-8'), 'utf-8'))

但我还是得到了同样的结果。在

我使用的api是here。在

到目前为止我所理解的是,utf-8应该能够处理所有语言的文本。另外,默认情况下,Ubuntu中的控制台有utf-8,如果我运行more之类的命令,它应该可以正确地输出字符串。在


Tags: 数据代码io名称api语言ubuntuopen
2条回答

问题出在我的ssh客户机上,它错误地显示了字符串。代码运行良好。在

检查响应代码,从响应中获取字符集并使用它进行解码。您可以使用name.decode('utf-8')str(name, 'utf-8')进行解码。在

F.e.公司

resp = urlopen(url)
if resp.code == 200:
    with open('filename', 'w') as fd:
        fd.write(str(name, resp.info().get_content_charset()))
        #or fd.write(name.decode(resp.info().get_content_charset()))

相关问题 更多 >