我正在尝试清理页面的内容,该链接是通过SPARQL查询获得的:
http://www.rechercheisidore.fr/sparql/query?query=PREFIX+dcterms%3A+%3Chttp%3A%2F%2Fpurl.org%2Fdc%2Fterms%2F%3E+PREFIX+foaf%3A+%3Chttp%3A%2F%2Fxmlns.com%2Ffoaf%2F0.1%2F%3E+SELECT+%3Furicollection+%3Ftitrecollection+%3Fdescription+%3Fadresseweb+WHERE+{+%3Furicollection+%3Fpredicat+%3Chttp%3A%2F%2Fwww.rechercheisidore.fr%2Fclass%2FCollection%3E.+%3Furicollection+dcterms%3Atitle+%3Ftitrecollection.+%3Furicollection+dcterms%3Adescription+%3Fdescription.+%3Furicollection+foaf%3Ahomepage+%3Fadresseweb.+}+ORDER+BY+ASC%28%3Ftitrecollection%29+LIMIT+300&format=application%2Frdf%2Bxml
这页是用法语写的。每个带重音的字母都不能正确显示,当试图用Python中的好字符替换这些字符时,它会返回错误。我试图将文件转换为UTF-8,但这并没有解决任何问题(实际上它已经是UTF-8格式的),因此产生了一个混乱的结果(网站的一位工程师确认这是他们的三重存储区中的一个bug)。例如:您应该看到é
,而不是é
。在
我希望有一个文件,我至少可以使用python2.7str.replace()
函数来返回正确的字符——或者有更好的方法来实现这一点?在
来自RDF XML文件的示例演示了该问题:
^{pr2}$
页面的问题似乎是服务器将文本编码为UTF-8,然后将UTF-8作为拉丁语1处理,并再次用UTF-8编码。要扭转这种情况,请以UTF-8形式读入文件,将其编码为拉丁1字节字符串,然后将字节解码为UTF-8。在
jwodder解决方案的佐证:
收益率
^{pr2}$相关问题 更多 >
编程相关推荐