PHP生成RSS XML-编码错误


PHP Generate RSS XML - Encoding Error

所以我有一个小的PHP脚本,它为我的博客的rss提要生成xml感觉。然而,它抛出了这个错误:

此页面包含以下错误:

第23行第14列出现错误:编码错误
以下是第一个错误之前的页面呈现。

(此处显示:http://aviatex14.co.uk/rss.xml)

这是生成它的代码:

while ($line = mysql_fetch_array($result)) {
  $return[] = $line;
  var_dump(date("Y-m-d H:i:s", $line['timestamp']));
}
$now = date("D, d M Y H:i:s T");
$output = "<?xml version='"1.0'" encoding='"UTF-16'" ?>
             <rss version='"2.0'">
                <channel>
                  <title></title>
                  <link></link>
                  <description></description>
                  <pubDate></pubDate>
                  <language>en-us</language>
                    
                  <lastBuildDate>$now</lastBuildDate>
          ";
            
foreach ($return as $line) {
  $output .= "<item><title>".htmlentities($line['title'])."</title>
                <link>http://blog.aviatex14.co.uk/permalink.php?uid=".htmlentities($line['uid'])."</link>     
                <description>".htmlentities(strip_tags($line['entry']))."</description>
                <pubDate>".$date = date("Y-m-d H:i:s T", $line['timestamp'])."</pubDate> 
              </item>";
}
$output .= "</channel></rss>";
print "Content-Type: application/rss+xml";
echo $output;
$f = fopen("rss.xml", "w"); 
fwrite($f, $output); 
fclose($f); 

如有任何帮助,我们将不胜感激!:D

上面写着"东京�一个日本人"在那一行(以及在提要的后面)�不是utf-8。尝试utf8_encode(或者iconv,如果您想要不同的编码)内容,或者更好:使用XML处理器来创建提要。

您必须配置数据库或连接。尝试在连接到数据库后执行mysql_set_charset('utf8');

http://php.net/manual/en/function.mysql-set-charset.php

p.S。您应该使用<?xml version="1.0" encoding="UTF-8" ?>或删除该行。您的输出看起来像是基于8位。