我正在写一篇关于刮刀的帮助.我正在努力争取一张大学排名表,其中一些学校是欧洲大学,他们的名字中有外国人(例如ä,ü).我已经用同样的方式在外国大学的另一个网站上刮另一张桌子了,一切正常.但由于某种原因,当前的刮刀不适用于外来字符(并且就解析外来字符而言,两个刮刀完全相同).
这就是我正在做的尝试让事情发挥作用:
在文件的第一行声明编码:
# -*- coding: utf-8 -*-
Run Code Online (Sandbox Code Playgroud)从django.utils.encoding导入smart_unicode从django框架导入和使用智能unicode
school_name = smart_unicode(html_elements[2].text_content(), encoding='utf-8',
strings_only=False, errors='strict').encode('utf-8')
Run Code Online (Sandbox Code Playgroud)使用编码功能,如上所述,当与smart_unicode函数链接时.我想不出还有什么我可能做错了.在处理这些刮刀之前,我真的不太了解不同的编码,所以这是一个令人大开眼界的经验.我试过阅读以下内容,但仍然无法克服这个问题
据我所知,在编码中,每个字符都分配了一个数字,可以用十六进制,二进制等表示.不同的编码对于它们支持的语言数量有不同的容量(例如,ASCII只支持英语,UTF-8支持它看起来的一切但是,我觉得我正在做一切必要的事情,以确保正确打印字符.我不知道我的错误在哪里,这让我发疯了.请帮助!!