<?php
header('Content-type: text/xml; charset=utf-8');
DEFINE ('DB_USER', 'root');
DEFINE ('DB_PASSWORD', '');
DEFINE ('DB_HOST', 'localhost');
DEFINE ('DB_NAME', 'rss');
$output = '<?xml version="1.0" encoding="UTF-8"?>';
$output .= '<rss version="2.0">';
$output .= '<channel>';
$output .= '<title>Feed Demo</title>';
$output .= '<description>News Feed from MySQL test.</description>';
$output .= '<language>de</language>';
$connection = @mysql_connect(DB_HOST, DB_USER, DB_PASSWORD) or die('-');
mysql_select_db(DB_NAME) or die ('-');
$query = "SELECT * FROM entry ORDER BY date DESC";
$result = mysql_query($query) or die ('-');
while($row = mysql_fetch_array($result)) {
extract($row);
$output .= '<item>';
$output .= '<title>' . $title . '</title>';
$output .= '<description>' . $description . '</description>';
$output .= '<link>' . $link . '</link>';
$output .= '<pubDate>' . date("d. F Y, H:i", strtotime($date)) . '</pubDate>';
$output .= '</item> ';
}
$output .= '</channel>';
$output .= '</rss>';
echo($output);
?>
您好! 我正在使用上面的代码从MySql数据库生成rss-feed。它工作得非常好,直到我在条目中添加特殊字符,例如:,/,ä,ö,ü,ß,?,“等等。 我收到了消息
此页面包含以下错误:
第377行第1行的错误:编码错误 具有特殊字符的行前的所有内容都会正确显示。
答案 0 :(得分:0)
您应该使用utf8_encode()
对所有值进行编码。
类似的东西:
while($row = mysql_fetch_array($result)) {
extract($row);
$output .= '<item>';
$output .= '<title>' . utf8_encode($title) . '</title>';
$output .= '<description>' . utf8_encode($description) . '</description>';
$output .= '<link>' . $link . '</link>';
$output .= '<pubDate>' . date("d. F Y, H:i", strtotime($date)) . '</pubDate>';
$output .= '</item> ';
}