我在传递带有 unicode 字符的 uri 以rdflib
添加到Graph()
例如,我想运行:
from rdflib import Graph
g = Graph()
uri = 'http://dbpedia.org/resource/René_Auberjonois'
g.parse(uri)
但是我得到了一个在 Python 中很常见的 ascii 编解码器编码错误。
UnicodeEncodeError: 'ascii' codec can't encode character u'\xe9' in position 17: ordinal not in range(128)
如果 uri 以“ http://dbpedia.org/resource/Ren%C3%A9_Auberjonois ”的形式传递,那很好,如果字符串采用这种方式,解析器就可以工作(对不起,我不知道该调用什么事物,无论是“原始”、“转义”、“未转义”还是其他)。
有什么我可以做的uri
(它不是以这种方式设置的,它是通过一个循环遍历名称列表的函数来设置的),这样print uri
可以http://dbpedia.org/resource/Ren%C3%A9_Auberjonois
吗?
背景:我最初问过这个问题,但是u
在字符串前面添加对于脚本的设置方式是不可行的(我没有像这样设置每个字符串s = 'René_Auberjonois'
:),或者当我将它传递给 rdflib 时最终实际上不起作用(即仍然得到编码错误,因为它正在被传递http://dbpedia.org/resource/René_Auberjonois
)
此外,如果有很好的资源来理解我在这里遇到的问题,那会很酷。我现在对字符编码感到困惑。