Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Spyder.RV

Como detectar e converter para utf-8 diferentes tipos de codificação

Recommended Posts

Estou com uma dificuldade na codificação de caracteres vindos de um xml...

 

O arquivo .PHP foi editado no SublimeText ( UTF-8 por padrão)... e ainda tem um

@header("Content-Type: text/html; charset=utf-8");

e criei uma classe para ler e retornar XML de diversas fontes RSS e logo na primeira fonte que fui testar, o xml veio em ISO-8859-1. Como faço para detectar o encoding declarado no XML dessas fonte? consigo pegar os atributos e os nodes normalmente, mas não o encoding, que tá na primeira linha:

 

<?xml version="1.0" encoding="ISO-8859-1"?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Meu colega de trabalho estava olhando esta função hoje a tarde:

mb_detect_encoding

 

Com ela, pode detectar o enconde utilizado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara... show de bola... valeu!!!!

 

Ainda em conjunto com a http://php.net/manua...rt-encoding.php ficou show... essa parte de detecção e conversão ficou show...

 

Agora meu problema é outro... olha só XML abaixo:

 

<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
   <channel>
		<title>Tempo Agora (Previsão para 5 dias)</title> <!-- Vejam essas 2 linhas -->
       <description>Tempo Agora - A Meteorologia te auxiliando a tomar decisões com antecedência sobre o tempo e o clima no Brasil e no Mundo</description> <!-- Vejam essas 2 linhas -->
       <link>http://www.tempoagora.com.br</link>
       <lastBuildDate>Fri, 27 Jul 2012 1:29 35 -0300</lastBuildDate>
       <generator>D-MAX Gerador RSS 1.0b</generator>
       <item>
           <title>Rio Verde - GO - Previsão do Tempo</title>
           <link>http://tempoagora.com.br/previsaodotempo.html/brasil/RioVerde-GO/</link>
           <description>
               <![CDATA[(<b>Sexta -  27/07</b>) - Min: 16ºC / Máx: 33ºC / Prec: 0mm / Situação: Poucas Nuvens / IUV: 8<br />]]>
               <![CDATA[(<b>Sábado -  28/07</b>) - Min: 17ºC / Máx: 32ºC / Prec: 0mm / Situação: Poucas Nuvens / IUV: 8<br />]]>
               <![CDATA[(<b>Domingo -  29/07</b>) - Min: 16ºC / Máx: 32ºC / Prec: 0mm / Situação: Poucas Nuvens / IUV: 8<br />]]>
               <![CDATA[(<b>Segunda -  30/07</b>) - Min: 16ºC / Máx: 32ºC / Prec: 0mm / Situação: Poucas Nuvens / IUV: 8<br />]]>
               <![CDATA[(<b>Terça -  31/07</b>) - Min: 16ºC / Máx: 30ºC / Prec: 0mm / Situação: Céu Claro / IUV: 8<br />]]>
           </description>
           <author>fonte: SOMAR Meteorologia</author>
           <pubDate>Fri, 27 Jul 2012 1:29 35 -0300</pubDate>
           <guid>http://tempoagora.com.br/previsaodotempo.html/brasil/</guid>
       </item>
   </channel>
</rss>

 

Se eu pego xml inteiro, a questão de acentos e codificação vem certinha... mas se pego somente um node,vem tudo bagunçado, vejam abaixo:

 

<title>Tempo Agora (Previsão para 5 dias)</title>

<description>Tempo Agora - A Meteorologia te auxiliando a tomar decisões com antecedência sobre o tempo e o clima no Brasil e no Mundo</description>

 

Como pode isso?

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.