【发布时间】:2009-05-04 10:10:55
【问题描述】:
我的 RSS 提要有问题。
当我做<title>This is a title </title>
标题在提要中显示得很好
但是当我做 $title = "这是一个倾斜";
<title><![CDATA['$title']]></title>
标题根本没有出现。
还是不行。我动态生成我的 rss 提要,它看起来像这样:
$item_template="
<item>
<title>[[title]]</title>
<link>[[link]]</link>
<description><![CDATA[[[description]]]]></description>
<pubDate>[[date]]</pubDate>
</item>
";
在一个循环中:
$s.=str_replace(
array("[[title]]","[[link]]","[[description]]","[[date]]"),
array(htmlentities($row["title"]),$url,$description,$date),
$item_template);
问题出在标题带有欧元符号的情况下。然后它会出现在我的 rss 验证器中,例如:
Â\x80
更多详细信息:
好的,过去几天我一直在为此苦苦挣扎,但找不到解决方案。所以我会开始赏金。这里有更多信息:
- Feed 中的信息存储在 latin 1 数据库中(由我管理)
- 当数据库中有欧元符号时出现问题。不管是€还是
&euro; - 欧元符号有时看起来像奇怪的字符或像 Â\x80
- 我尝试在 feed 端而不是在 reader 端解决问题。
- 完整的代码可以在这里找到:codedump
- 下一步:有时当无法解析欧元符号时,项目(标题或描述)显示为空。因此,如果您在浏览器中显示提要时查看源代码,您会发现
<title></title>
如果需要更多信息,请询问。
【问题讨论】:
-
顺便说一句,不要把英语和德语混在一起。 “数据”听起来很酷,但它是数据的单数。您正在寻找“日期”。来自明斯特(Westf.)的问候
-
你能告诉我们数据库值的确切值吗(如 base64_encode($row["title"]))?为什么你认为这个值包含欧元符号? (即您是如何输入的,它是否在其他任何地方显示为“€”?)