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
    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.