直到现在,我已经或多或少成功地通过以下代码(rss storer.php)将来自不同网站的rss feed(基于xml的文档)解析到我的MySQL数据库中:
<?php
header("Content-Type: text/html;charset=utf-8");
$feeds = array(
'http://fotbollskanalen.se/rss',
'http://www.aftonbladet.se/sportbladet/fotboll/rss.xml',
'http://www.eurosport.se/fotboll/allsvenskan/rss.xml',
'http://expressen.se/rss/fotboll'
);
$connect=mysql_connect("localhost","root","") or die("You could not access!");
mysql_select_db("storage",$connect);
if($connect)
{
foreach( $feeds as $feed ) {
$xml = simplexml_load_file($feed);
foreach($xml->channel->item as $item)
{
$date_format = "j-n-Y"; // 7-7-2008
echo date($date_format,strtotime($item->pubDate));
echo ' <a href="'.$item->link.'" target="_blank">'.$item->title.'</a>';
echo '<div>' . $item->description . '</div>';
mysql_query("INSERT INTO rss_feeds (id, title, description, link, pubdate)
VALUES (
'',
'".mysql_real_escape_string($item->title)."',
'".mysql_real_escape_string($item->description=htmlspecialchars(trim($item->description)))."',
'".mysql_real_escape_string($item->link)."',
'".mysql_real_escape_string($item->pubdate)."')");
}
}
}
else
{echo "An error has occured";}
mysql_close($connect);
?>
因此,当我将此脚本作为测试驱动时,它显示了来自4个链接的rss提要,并且我已经看到它响应了我的服务器上的数据库,因为已经有文件插入到mysql表中。
但是现在问题就出现了。以下是我需要获得帮助的问题:
1:当我在数据库中查看mysql表“rss_feeds”时,我看到许多奇怪的字母似乎已经取代瑞典字母“Å”,“Ä”和“Ö”而我认为它可能是mysql表中的行上的字符集。数据库本身。但如果是这样,那么如何更改它来解决这个问题?
2:虽然MySQL数据库“存储”响应“rss storer.php”中的PHP代码,但我没有看到新的RSS源被插入,因为数据库和PHP文件相互连接。我应该在“rss storer.php”中添加另一个PHP代码,或者我该怎么做才能将绝对最新的RSS源插入到数据库中?
3:当谈到数据库上RSS源的ID时,它们都显示为0.如何使它们成为唯一,它会说每个RSS源都有不同的ID?
4:当我在数据库“storage”上的表“rss_feeds”中查看RSS提要的发布日期时,它们都显示“0000-00-00 00:00:00”。为什么会这样?以下代码位于数据库中的pubdate行:
5 pubdate timestamp on update CURRENT_TIMESTAMP Null: No CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
5:这是最后一个问题,但可能是最重要的问题。我想在数据库“存储”的mysql表“rss_feeds”中设置一个限制,插入rss提要的最大值,这样rss提要不会太多,如果你理解我的意思,就会以某种方式威胁整个本地服务器。我应该添加一些SQL代码来决定限制或应该如何完成?
如果您需要更多其他必要信息以帮助我解决这些问题,那么我会根据您的意愿向您提供更多信息。
我将向那些将帮助我解决所有这些问题的人致以最诚挚的问候:D
提前致谢!
答案 0 :(得分:1)
使用此功能
$馈&GT; set_output_encoding( 'ISO-8859-1');
这将确保RSS提要的输出与MySQL编码匹配。否则你会得到像“。”这样的人物。 资料来源:http://samueljcarlson.blogspot.in/2011/12/rss-feeds-to-mysql-database-script.html