php+xml

fil79

Power Member
Boas

tenho so seguinte script para gerar um Xml através de uma busca ao mysql:

Código:
//Vai actualizar o XML 
 
$sql = "SELECT menu.menu, conteudos.conteudos
FROM conteudos
INNER JOIN menu ON menu.idmenu = conteudos.idmenu
ORDER BY menu.ordem ASC";
 
$resultado = $db->db_query($sql); 
$rows = mysql_fetch_assoc($resultado); 
 
 
// gravando o documento XML e encapsulando o resultado na variável $xml
$xml = "<?xml version='1.0' encoding='iso-8859-1'?> \n\n";
// abrindo o nó principal
$xml .= "<infoi>\n";
$xml .= " <menu>\n";
// abrindo o while com os dados das fotos, isso delimita cada bloco de informações de fotos com seus respectivos dados(subnós) dentro deste nó
 
 
do {
$titulo = $rows['menu']; 
$content = $rows['conteudos'];
// subnós de informações - nome da foto, thumbnail da foto, título de apresentação da foto
$xml .=" <item>\n";
$xml .=" <titulo>$titulo</titulo>\n";
$xml .=" <conteudo>$content\n";
$xml .=" </conteudo>\n";
$xml .=" </item>\n";
 
 
// fechando o while dos dados
} while ($rows = mysql_fetch_assoc($resultado));
// fechando o nó principal
$xml .="</menu>\n";
$xml .="</info>\n";
 
//echo $xml;
//exit; 
 
$fp = @fopen('conteudos.xml','w');
$write = fwrite($fp,$xml);
fclose($fp);
o script funciona mas grava o texto com acento desta forma ("S uma forma s곩a n")
os dados vêem correctamente formatados do mysql portanto o problema ocorre no fwrite..
desde já agradeço!
 
Última edição:
Se estás a criar um ficheiro, ele não tem o encoding especificado, tenta assim:

PHP:
$fp = @fopen('conteudos.xml','w');
fwrite($fp,utf8_encode($xml));
 
Back
Topo