rvsrafael 0 Denunciar post Postado Julho 6, 2009 Bom galera estou tentando implementa um sistema de RSS... O meu problema é o seguinte.. ao rodar o codigo abaixo no FIREFOX funciona sem problema meu RSS... Já qndo vo faz o msm no IE da pau... justamente qndo encontra um caracter especia tipo acentuados e etc... essas informações com caracter especial estão contidas nas variaveis $texto e $titulo gostaria de alguma sugestão pra resolve esse problema.... segue o codigo da pagna.... <?php $cConexao = mysql_connect("localhost", "user", "senha"); mysql_select_db("noticia",$cConexao); // 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', 'Meu site'); $canal->addChild('link', 'http://www.meu.com.br/noticias/'); $canal->addChild('description', 'Últimas notícias'); $sql = "SELECT * FROM `noticias` WHERE (`ESTADO` = 'P') ORDER BY `COD_NOTICIA` DESC"; $lim = mysql_query($sql); while ($dados = mysql_fetch_assoc($lim)) { $id = $dados['COD_NOTICIA']; $titulo = $dados['IDT_TITULO']; $texto = $dados['IDT_RESUMO']; // 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.meu.com.br/noticia.php?c=".$id."&chv=XhZvfqgVd5"); $item->addChild('description', $texto); } // Cria o elemento <image> dentro de <rss> $canal = $rss->addChild('image'); // Adiciona sub-elementos ao elemento <image> $canal->addChild('url', 'http://www.meu.com.br/img/logo.jpg'); echo $rss->asXML(); ?> Compartilhar este post Link para o post Compartilhar em outros sites
hinom 5 Denunciar post Postado Julho 7, 2009 poste aqui o resultado do XML. se tiver muita coisa poste somente as 5 ou 10 primeiras linhas se tiver dados confidenciais, troque por dados fictícios certifique-se de esvaziar o cache do browser quando faz alterações em códigos, principalmente client-side. Compartilhar este post Link para o post Compartilhar em outros sites
rvsrafael 0 Denunciar post Postado Julho 7, 2009 poste aqui o resultado do XML. se tiver muita coisa poste somente as 5 ou 10 primeiras linhas se tiver dados confidenciais, troque por dados fictícios certifique-se de esvaziar o cache do browser quando faz alterações em códigos, principalmente client-side. Observe q os caracter especiais estão em vermelho no IE ao deparar com isso ele simples mente para! onde encontra o 1°caracter especial... já firefox funciona perfeitamente... <?xml version="1.0" encoding="UTF-8"?> <rss version="2.0"> <channel> <title>meu_site</title> <link>http://www.meu.com.br/noticias/</link> <description>[color="#FF0000"]Ú[/color]ltimas notcias de adamantina e regi[color="#FF0000"]ã[/color]o.</description> <item> <title>Aluno de Direito recebe pr[color="#FF0000"]ê[/color]mio por trabalho sobre a Constitui[color="#FF0000"]çã[/color]o Federal</title> <link> http://www.meu.com.br/noticia.php?c=205&chv=XhZvfqgVd5</link> <description>Marcel Pangoni Guerra, autor de Constituição de Papel, ganhou R[color="#FF0000"]$[/color] 4 mil em livros jurídicos</description> </item> </channel> <image> <url>http://www.meu.com.br/img/logo.jpg</url> </image> </rss> acima o resultado do XML Compartilhar este post Link para o post Compartilhar em outros sites
hinom 5 Denunciar post Postado Julho 7, 2009 IE8, não apresentou problemas referente a encoding.. apresentou problema referente ao ampersand (&) para resolver, o problema referente ao ampersand basta convertê-lo para html entities "&" http://www.w3.org/TR/xhtml1/guidelines.html#C_12 http://www.xml.com/pub/a/2001/01/31/qanda.html http://articles.techrepublic.com.com/5100-...11-5032714.html certifique-se de esvaziar o cache do browser quando faz alterações em códigos, principalmente client-side. Compartilhar este post Link para o post Compartilhar em outros sites
rvsrafael 0 Denunciar post Postado Julho 7, 2009 IE8, não apresentou problemas referente a encoding.. apresentou problema referente ao ampersand (&) para resolver, o problema referente ao ampersand basta convertê-lo para html entities "&" http://www.w3.org/TR/xhtml1/guidelines.html#C_12 http://www.xml.com/pub/a/2001/01/31/qanda.html http://articles.techrepublic.com.com/5100-...11-5032714.html certifique-se de esvaziar o cache do browser quando faz alterações em códigos, principalmente client-side. segue o meu erro no IE7 Compartilhar este post Link para o post Compartilhar em outros sites
rvsrafael 0 Denunciar post Postado Julho 7, 2009 IE8, não apresentou problemas referente a encoding.. apresentou problema referente ao ampersand (&) para resolver, o problema referente ao ampersand basta convertê-lo para html entities "&" http://www.w3.org/TR/xhtml1/guidelines.html#C_12 http://www.xml.com/pub/a/2001/01/31/qanda.html http://articles.techrepublic.com.com/5100-...11-5032714.html certifique-se de esvaziar o cache do browser quando faz alterações em códigos, principalmente client-side. segue o meu erro no IE7 a palavra q ele paro é prêmio Compartilhar este post Link para o post Compartilhar em outros sites
hinom 5 Denunciar post Postado Julho 7, 2009 IE6 windows xp obs: verifique se o encoding do texto é o mesmo encoding definido para o xml (utf-8) Compartilhar este post Link para o post Compartilhar em outros sites
rvsrafael 0 Denunciar post Postado Julho 7, 2009 IE6 windows xp obs: verifique se o encoding do texto é o mesmo encoding definido para o xml (utf-8) esta td ok qnto ao encoding!!! mas mesmo assim nao funciona.... será q há outra forma de fazer isso? Compartilhar este post Link para o post Compartilhar em outros sites
Rafael Wapbrasil 1 Denunciar post Postado Julho 7, 2009 Da uma olhada aqui http://forum.imasters.com.br/index.php?showtopic=352032 nao sei se vai resolver o seu problema, espero que sim Compartilhar este post Link para o post Compartilhar em outros sites
hinom 5 Denunciar post Postado Julho 8, 2009 teste em outros pcs, na maior quantidade possível e veja se ocorre o mesmo problema repetindo pela terceira vez "certifique-se de limpar o cache do browser" limpe o cache, feche todas as janelas. abra de novo e limpe de novo, feche e abra. sabe como é o internet explorer... poderia confirmar aqui se fez a limpeza do cache e se fez teste em outros pcs? o problema pode ser específico do seu pc somente. Compartilhar este post Link para o post Compartilhar em outros sites
rvsrafael 0 Denunciar post Postado Julho 8, 2009 teste em outros pcs, na maior quantidade possível e veja se ocorre o mesmo problema repetindo pela terceira vez "certifique-se de limpar o cache do browser" limpe o cache, feche todas as janelas. abra de novo e limpe de novo, feche e abra. sabe como é o internet explorer... poderia confirmar aqui se fez a limpeza do cache e se fez teste em outros pcs? o problema pode ser específico do seu pc somente. Hinom estou certo de q o cache esta limpo.... realmete testei em outras maquinas enviando o link da pagina para amigo e o erro acontece em todos os IE7(pelo menos) grato pela atencao... Compartilhar este post Link para o post Compartilhar em outros sites
hinom 5 Denunciar post Postado Julho 8, 2009 1. qual editor de textos está usando ? experimente criar um novo arquivo php exatamente com o mesmo script, mas não copie e cole o conteúdo do arquivo original pode ser algum problema no software que está usando para editar o arquivo php. obs: essa é uma hipótese, considerando que todas as dicas anteriores não satisfizeram. 2. qual o internal encoding do php? echo mb_internal_encoding(); http://php.net/mb_internal_encoding 3. Windows XP Professional 32bits, Internet Explorer 7.0.5730.13 Acusou o mesmo erro apontado pelo Internet Explorer 8 do Windows 7 Faça os tests consistentemente. Provavelmente o problema está no arquivo PHP ou no output gerado pelo PHP. Corrija também o uso do ampersand, conforme recomendação do W3C. Resultado após corrigir o caracter "ampersand" ( "E" comercial): Compartilhar este post Link para o post Compartilhar em outros sites
rvsrafael 0 Denunciar post Postado Julho 8, 2009 1. qual editor de textos está usando ? experimente criar um novo arquivo php exatamente com o mesmo script, mas não copie e cole o conteúdo do arquivo original pode ser algum problema no software que está usando para editar o arquivo php. obs: essa é uma hipótese, considerando que todas as dicas anteriores não satisfizeram. 2. qual o internal encoding do php? echo mb_internal_encoding(); http://php.net/mb_internal_encoding 3. Windows XP Professional 32bits, Internet Explorer 7.0.5730.13 Acusou o mesmo erro apontado pelo Internet Explorer 8 do Windows 7 Faça os tests consistentemente. Provavelmente o problema está no arquivo PHP ou no output gerado pelo PHP. Corrija também o uso do ampersand, conforme recomendação do W3C. Resultado após corrigir o caracter "ampersand" ( "E" comercial): echo mb_internal_encoding(); --> ISO-8859-1 e refiz o codigo mesmo assim nd... Compartilhar este post Link para o post Compartilhar em outros sites
rvsrafael 0 Denunciar post Postado Julho 8, 2009 $cConexao = mysql_connect("localhost", "user", "senha"); mysql_select_db("noticia",$cConexao); $rss = new SimpleXMLElement('<?xml version="1.0" encoding="ISO-8859-1" ?><rss></rss>'); $rss->addAttribute('version', '2.0'); $canal = $rss->addChild('channel'); $canal->addChild('title', 'meu site'); $canal->addChild('link', 'http://www.meu.com.br/noticias/'); $canal->addChild('description', 'publicadas....'); $sql = "SELECT * FROM `noticias` WHERE (`ESTADO` = 'P') ORDER BY `COD_NOTICIA` DESC"; $lim = mysql_query($sql); while ($dados = mysql_fetch_assoc($lim)) { $id = $dados['COD_NOTICIA']; $titulo = $dados['IDT_TITULO']; $texto = $dados['IDT_RESUMO']; $item = $canal->addChild('item'); [color="#FF0000"]$titulo2 = mb_convert_encoding($titulo, "UTF-8", "ISO-8859-1"); $texto2 = mb_convert_encoding($texto, "UTF-8", "ISO-8859-1");[/color] $item->addChild('title', $titulo2); $item->addChild('link', " http://www.meu.com.br/noticia.php?c=".$id."&chv=XhZvfqgVd5"); $item->addChild('description', $texto2); } $canal = $rss->addChild('image'); $canal->addChild('url', 'http://www.meu.com.br/img/logo.jpg'); echo $rss->asXML(); ?> Galera esta ae o codigo funcionando no IE7 http://forum.imasters.com.br/public/style_emoticons/default/joia.gif obrigado Hinom pela grande atencao e as dicas.... caso tenha algo a sugerir estou aberto a sugestões... valeu... Compartilhar este post Link para o post Compartilhar em outros sites
hinom 5 Denunciar post Postado Julho 8, 2009 echo mb_internal_encoding(); --> ISO-8859-1 o php estava retornando encoding latin ISO, por isso conflitava com a definição do output utf-8 bom que resolveu. Compartilhar este post Link para o post Compartilhar em outros sites