Array
(
)

Preciso de Ajuda com php :D

PHP
Cleyton Caetano
   - 24 out 2014

Bom, por algum problema eu não estou conseguindo exibir meu documento no feed, alguém pode me ajudar?
#Código
$map = array( //tratamento de URL
'á' => 'a',
'à' => 'a',
'ã' => 'a',
'â' => 'a',
'é' => 'e',
'ê' => 'e',
'í' => 'i',
'ó' => 'o',
'ô' => 'o',
'õ' => 'o',
'ú' => 'u',
'ü' => 'u',
'ç' => 'c',
'Á' => 'a',
'À' => 'a',
'Ã' => 'a',
'Â' => 'a',
'É' => 'e',
'Ê' => 'e',
'Í' => 'i',
'Ó' => 'o',
'Ô' => 'o',
'Õ' => 'o',
'Ú' => 'u',
'Ü' => 'u',
'Ç' => 'c',
'A' => 'a',
'B' => 'b',
'C' => 'c',
'D' => 'c',
'E' => 'c',
'C' => 'c',
'C' => 'c',
'C' => 'c',
'C' => 'c',
'C' => 'c',
'C' => 'c',
'C' => 'c',
'C' => 'c',
'C' => 'c',
'C' => 'c',
'C' => 'c',
'C' => 'c',
'C' => 'c',
'C' => 'c',
'C' => 'c',
'C' => 'c',
'C' => 'c',
'C' => 'c',
'C' => 'c',
'C' => 'c',
'C' => 'c',
'D' => 'd',
'E' => 'e',
'F' => 'f',
'G' => 'g',
'H' => 'h',
'I' => 'i',
'J' => 'j',
'L' => 'l',
'M' => 'm',
'N' => 'n',
'O' => 'o',
'P' => 'p',
'Q' => 'q',
'R' => 'r',
'S' => 's',
'T' => 't',
'U' => 'u',
'V' => 'v',
'X' => 'x',
'Z' => 'z',
'W' => 'w',
'Y' => 'y',
'K' => 'k',
' ' => '-',
'!' => '-!',
'?' => '-?',
"'" => '',
',' => ''
);
// Intanciamos/chamamos a classe
$rss = new SimpleXMLElement('<?xml version="1.0" encoding="UTF-8"?><rss></rss>');
$rss->addAttribute('version', '2.0');
// Cria o elemento <channel> dentro de <rss>
$canal = $rss->addChild('channel');
// Adiciona sub-elementos ao elemento <channel>
$canal->addChild('title', 'Marra Tecnologia - Feed');
$canal->addChild('link', 'http://www.marratecnologia.net/');
$canal->addChild('description', 'Últimas publicações!');
// Define a consulta MySQL
$sql = "SELECT * FROM `mr_posts` WHERE (`status` = 1) ORDER BY `id` DESC";
$query = mysql_query($sql) OR die(mysql_error());
// Inclui um <item> para cada resultado encontrado
while ($dados = mysql_fetch_assoc($query)) {
$id = $dados['id'];
$titulo = $dados['titulo'];
$titulo_url = strtr($titulo, $map);
$texto = $dados['conteudo'];
// Cria um elemento <item> dentro de <channel>
$item = $canal->addChild('item');
// Adiciona sub-elementos ao elemento <item>
$item->addChild('title', $titulo);
$item->addChild('link', 'http://www.marratecnologia.net/artigo/'.$id.'?'.$titulo_url.'/');
$item->addChild('description', $texto);
}
// Define o tipo de conteúdo e o charset
header("content-type: application/rss+xml; charset=utf-8");
// Entrega o conteúdo do RSS completo:
echo $rss->asXML();
exit;

o feed em si está funcionando normalmente, o problema é que uso editor de texto e ele troca palavras acentuadas por códigos como & ecirc; e da erro, eu até fiz uma array para fazer a troca só que fica dando erro no envio dos emails, eu queria saber se tem como eu resolver esse problema para o xml exibir os caracteres normalmente?
Clique na imagem para abrir em uma nova janela

Joel Rodrigues
   - 28 out 2014

1) O problema não está no seu editor de texto, que não está gerando no formato UTF-8?
2) O charset da página está UTF-8?

Cleyton Caetano
   - 29 out 2014


Citação:
1) O problema não está no seu editor de texto, que não está gerando no formato UTF-8?
2) O charset da página está UTF-8?


Sim está!

Joel Rodrigues
   - 29 out 2014


Citação:

Citação:
1) O problema não está no seu editor de texto, que não está gerando no formato UTF-8?
2) O charset da página está UTF-8?


Sim está!

Está o que? O problema no editor ou o charset UTF-8?

Luiz
|
MVP
Pontos: 200
    29 out 2014

Como o Joel falou veja como esta a linguagem no seu editor de textos, por exemplo, se utiliza Notepad++ vá em formatar e deixe em "Codificação em UTF-8 (sem BOM)" e faça um teste.