con esto leo los registros
$row=mysql_num_rows($consulta);
if($row>0){
print "&erroMensagem=0";
$libro = "<?xml version='1.0'?><libro>";
for($i=0; $i<$row; $i++) {
$nombre = urlencode(htmlspecialchars(mysql_result($consulta, $i,"nombre")));
$email = mysql_result($consulta,$i,"email");
$fecha = mysql_result($consulta,$i,"fecha");
$lugar = urlencode(htmlspecialchars(mysql_result($consulta, $i,"lugar")));
$comentario = urlencode(htmlspecialchars(mysql_result($consulta, $i,"comentario")));
$libro .= ("<comentarios nombre='$nombre' email='$email' lugar='$lugar' fecha='$fecha' comen='$comentario'/>");
print "$libro";
}
$libro .= "</libro>";
$archivo = fopen("libro.xml", "w");
fwrite($archivo, utf8_encode($libro));
fclose($archivo);
} else {
print "&erro=NO SE ENCONTRO NINGUN REGISTRO!&erroMensagem=1";
}
Genero un xml, pero dentro del xml me pone esto
?xml version='1.0'?>
<libro><
comentarios nombre='j' email='jj@
[email protected],' lugar='jdj' fecha='20/10/2007' comen='%C3%AD'/><comentarios nombre='ss' email='[email protected]' lugar='kkk' fecha='20/10/2007' comen='%26amp%3BAtilde%3B%26amp%3Bshy%3B'/>
<comentarios nombre='ii' email='[email protected]' lugar='sss' fecha='20/10/2007' comen='%26amp%3BAtilde%3B%26amp%3Bshy%3B'/</libro>
figense que todas las tildes y eñes me salen mal.. cual es el error

gracias quien me ayude con sus conejos.. ya he utilizado utf8_encode, y todo lo que he leido por ahi...