【发布时间】:2011-09-27 09:32:43
【问题描述】:
我的 RSS 提要包含:
<title><![ CDATA[HBO Wins 19 Emmy® Awards, The Most of Any Network This Year]]></title>
现在我正在解析 RSS,然后将标题分配给标题,如下所示:
for item in XML.ElementFromURL(feed).xpath('//item',namespaces=NEWS_NS):
title = item.find('title').text
Log("Title :"+title)
当我检查输出或日志文件时,我看到的标题如下:
HBO 赢得了 19 项艾美奖,这是今年所有网络中最多的。
® 被转换为 ® 。任何我尝试使用 HTML 解析器但没有用的。
【问题讨论】:
-
定义 ® 的含义。提要采用什么编码?您要打印什么编码?你为什么不使用奇妙的feedparser.org?另请注意,在您的
Log()调用中,您将标题转换为str,即使该对象是正确的unicode实例。 -
@patrys,提要,编码="iso-8859-1"。 feedparser.org 是外部库吗?在那种情况下,我不能使用它。您能否澄清一下“您打印的编码是什么?”
-
您似乎得到了“®”字符的正确 utf-8 表示,但将其打印到
latin1(iso-8859-1) 输出。我怀疑问题不在于您解码提要的方式,而在于您Log()结果或查看记录结果的方式。
标签: python xml rss non-ascii-characters