@marcio<div>Essa ideia eu tive lendo como os browsers têm problemas pra começar a renderizar antes de achar a tag &lt;/head&gt;</div><div>Por isso que o IE 6 da bug quando exibi um HTML com menos de &lt;sei la quanto, mais é bem pouco) bytes. Ele faz alguma POG (que dizer, POG nao, POG pelo menos funciona) merdinha que duplica, estica, puxa, retorce o conteúdo.</div>

<div><br></div><div>Browsers modernos (leia-se todos depois do IE6! huasuhsa) leêm X bytes, se não achou o encoding, vai algum default, se der zica no meio do caminho (malformated), para o mundo (rs) troca o encoding, renderiza tudo de novo.</div>

<div><br></div><div>No seu caso o &quot;renderizar tudo&quot; e &quot;parar o mundo&quot; seria:<br>&quot;parar o mundo&quot;: desfazer tudo que fez até aquele ponto de leitura do XML</div><div>&quot;renderizar tudo&quot;: recomeçar a ler o XML com um novo &quot;guess&quot; de encoding </div>

<div>Por isso não é nada bom &quot;parar o mundo&quot;</div><div><br><br><div class="gmail_quote">2010/9/22 Renato Santos <span dir="ltr">&lt;<a href="mailto:renato.cron@gmail.com">renato.cron@gmail.com</a>&gt;</span><br>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">faz o que eu falei, tenta ler alguns bytes antes pra ler o que o XML diz que é. Depois faz o open em si<br><br><div class="gmail_quote">

2010/9/22 Marcio Ferreira <span dir="ltr">&lt;<a href="mailto:marciodesouzaferreira@gmail.com" target="_blank">marciodesouzaferreira@gmail.com</a>&gt;</span><div><div></div><div class="h5"><br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">não achei a solução ideal porque hoje é iso-8859-1 e amanhã vai ser o que ? vou alterar na mão isso ? <div>
<br clear="all"><br>[]s,<br><br><div>@webgenes<br>Marcio Ferreira<br><br></div><div><span style="font-family:sans-serif;line-height:16px"><span style="font-size:x-small">&quot;<a style="text-decoration:none"><font color="#000000">Perl</font></a> lives as the &#39;toolbox for Unix&#39; &quot;</span></span></div>




<br>
<br><br></div><div class="gmail_quote">2010/9/22 Renato Santos <span dir="ltr">&lt;<a href="mailto:renato.cron@gmail.com" target="_blank">renato.cron@gmail.com</a>&gt;</span><div><div></div><div><br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">




Marcio PD,<div>Não entendi porque não disse que nao queria fazer assim,</div><div><br></div><div>é o jeito mais &quot;certin&quot; é deixar o perl se virar pra entregar o encoding certo pra vc.</div><div><br></div><div>Você apenas &quot;informa&quot; qual o encoding do conteudo que esta lendo e a magica está pronta.</div>






<div><br></div><div><br></div><div>Agora levando em consideração (não UTF16/32 ou outro encoding que os caracteres basicos [a-z,numeros,_,&lt;,&gt;] do xml são os mesmos bytes do ASCII)</div><div>Você pode ler uns 1000 bytes em UTF8 ou Latin1, bater uma expressão mais ou menos assim:</div>






<div>encoding\s*\=\s*\&quot;?([^\&quot;]+)\&quot;?[\s\&gt;] </div><div>pra &quot;ler&quot; a parte do &quot;encoding&quot; do XML e fazer o Open completo depois.</div><div><br></div><div>Depois que comecei a usar o open com :encoding(XXX) nunca mais tive problemas com essa desgraça que me atrapalhou por anos (rs, se é que posso falar em anos!)</div>






<div><div><div></div><div><br><div class="gmail_quote">2010/9/21 Marcio Ferreira <span dir="ltr">&lt;<a href="mailto:marciodesouzaferreira@gmail.com" target="_blank">marciodesouzaferreira@gmail.com</a>&gt;</span><br>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

Resolvi meu problema, <div><br></div><div>Eu abri o XML com open &#39;&lt;:encoding(iso-8859-1)&#39; mesmo e passei para o XML::Bare a string com o conteúdo do XML.</div><div><br></div><div><div>Não é a forma que eu gostaria de ter resolvido, mas me serviu.</div>








<div><br></div><div>Valeu</div><div><div></div><div><br>[]s,<br><br><div>@webgenes<br>Marcio Ferreira<br><br></div><div><span style="font-family:sans-serif;line-height:16px"><span style="font-size:x-small">&quot;<a style="text-decoration:none"><font color="#000000">Perl</font></a> lives as the &#39;toolbox for Unix&#39; &quot;</span></span></div>








<br>
<br><br><div class="gmail_quote">2010/9/21 Andre Carneiro <span dir="ltr">&lt;<a href="mailto:andregarciacarneiro@gmail.com" target="_blank">andregarciacarneiro@gmail.com</a>&gt;</span><br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">








Infelizmente eu não conheço nenhuma que seja eficiente . Você pode tentar o Encode::Guess como eu falei, ou tentar achar outra maneira. Aliás se achar, escreva um artigo e manda pro Thiago, pq com certeza será útil para todos... ;-)<div>









<br></div><div>Cheers!</div><div><br><br><div class="gmail_quote">2010/9/21 Marcio Ferreira <span dir="ltr">&lt;<a href="mailto:marciodesouzaferreira@gmail.com" target="_blank">marciodesouzaferreira@gmail.com</a>&gt;</span><div>








<div></div><div><br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Tenho ciência disso André, <div><br></div><div>pensei que houvesse uma solução mais óbvia que converter strings ou o arquivo antes de abri-lo.<div><br clear="all"><br>[]s,<br><br><div>@webgenes<br>Marcio Ferreira<br>
<br></div><div>

<span style="font-family:sans-serif;line-height:16px"><span style="font-size:x-small">&quot;<a style="text-decoration:none"><font color="#000000">Perl</font></a> lives as the &#39;toolbox for Unix&#39; &quot;</span></span></div>











<br>
<br><br></div><div class="gmail_quote">2010/9/21 Andre Carneiro <span dir="ltr">&lt;<a href="mailto:andregarciacarneiro@gmail.com" target="_blank">andregarciacarneiro@gmail.com</a>&gt;</span><div><div></div><div>
<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

Problemas com codificação não são exclusivos do XML::Bare. Normalmente são problemas oriundos dos &#39;gênios&#39; que constroem as &#39;apps&#39;, &#39;webservices&#39;, ou o &#39;diabo&#39; que for, que &#39;cospem&#39; o XML com cabeçalhos inconsistentes, codificação errada, codificação mista, etc. etc. etc. Isso eu posso falar pq lido com essa porcaria quase todo santo dia, e eu o XML::Bare e vários outros parsers. A melhor estratégia que eu pude implementar foi converter as codificações quando possível e traduzir os caracteres, mantendo uma tabela de tradução que cresce cada vez menos agora. <div>












<br></div><div>O ideal seria ter algo que detectasse a codificação de um caracter para corrigir diretamente, mas isso é muito difícil de implementar de forma eficiente, pelo que eu vejo. Tem algumas tentativas como o Encode::Guess. Mas por experiência própria não é sempre que funciona, e sinceramente não tive paciência e nem tempo pra testar isso direito... Fique a vontade para tentar.</div>












<div><br></div><div><br></div><div>Cheers!<br><div><br></div><div> <br><br><div class="gmail_quote">Em 21 de setembro de 2010 12:41, Nilson Santos Figueiredo Jr. <span dir="ltr">&lt;<a href="mailto:acid06@gmail.com" target="_blank">acid06@gmail.com</a>&gt;</span> escreveu:<div>











<div></div><div><br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div>2010/9/20 Marcio Ferreira &lt;<a href="mailto:marciodesouzaferreira@gmail.com" target="_blank">marciodesouzaferreira@gmail.com</a>&gt;:<br>













</div><div>&gt; só amanhã do trabalho, mas basicamente eu uso o XML::Bare para carregar o<br>
&gt; XML, faço um trim nos abributos do XML, já que o XML::Bare não o faz.<br>
<br>
</div>Provavelmente o XML::Bare, por ser um parser mais &quot;tosco&quot;, está<br>
assumindo que o conteúdo está em UTF8 e está setando a flag de UTF8 na<br>
string.<br>
<font color="#888888"><br>
-Nilson<br>
</font><div><div></div><div>_______________________________________________<br>
SaoPaulo-pm mailing list<br>
<a href="mailto:SaoPaulo-pm@pm.org" target="_blank">SaoPaulo-pm@pm.org</a><br>
<a href="http://mail.pm.org/mailman/listinfo/saopaulo-pm" target="_blank">http://mail.pm.org/mailman/listinfo/saopaulo-pm</a><br>
</div></div></blockquote></div></div></div><br><br clear="all"><br>-- <br>André Garcia Carneiro<br>Analista/Desenvolvedor Perl<br>(11)82907780<br>
</div></div>
<br>_______________________________________________<br>
SaoPaulo-pm mailing list<br>
<a href="mailto:SaoPaulo-pm@pm.org" target="_blank">SaoPaulo-pm@pm.org</a><br>
<a href="http://mail.pm.org/mailman/listinfo/saopaulo-pm" target="_blank">http://mail.pm.org/mailman/listinfo/saopaulo-pm</a><br></blockquote></div></div></div><br></div>
<br>_______________________________________________<br>
SaoPaulo-pm mailing list<br>
<a href="mailto:SaoPaulo-pm@pm.org" target="_blank">SaoPaulo-pm@pm.org</a><br>
<a href="http://mail.pm.org/mailman/listinfo/saopaulo-pm" target="_blank">http://mail.pm.org/mailman/listinfo/saopaulo-pm</a><br></blockquote></div></div></div><div><div></div><div><br><br clear="all"><br>-- <br>

André Garcia Carneiro<br>Analista/Desenvolvedor Perl<br>
(11)82907780<br>
</div></div></div>
<br>_______________________________________________<br>
SaoPaulo-pm mailing list<br>
<a href="mailto:SaoPaulo-pm@pm.org" target="_blank">SaoPaulo-pm@pm.org</a><br>
<a href="http://mail.pm.org/mailman/listinfo/saopaulo-pm" target="_blank">http://mail.pm.org/mailman/listinfo/saopaulo-pm</a><br></blockquote></div><br></div></div></div>
<br>_______________________________________________<br>
SaoPaulo-pm mailing list<br>
<a href="mailto:SaoPaulo-pm@pm.org" target="_blank">SaoPaulo-pm@pm.org</a><br>
<a href="http://mail.pm.org/mailman/listinfo/saopaulo-pm" target="_blank">http://mail.pm.org/mailman/listinfo/saopaulo-pm</a><br></blockquote></div><br><br clear="all"><br>-- <br></div></div>Renato Santos<br><a href="http://www.renatocron.com/blog/" target="_blank">http://www.renatocron.com/blog/</a><br>







</div>
<br>_______________________________________________<br>
SaoPaulo-pm mailing list<br>
<a href="mailto:SaoPaulo-pm@pm.org" target="_blank">SaoPaulo-pm@pm.org</a><br>
<a href="http://mail.pm.org/mailman/listinfo/saopaulo-pm" target="_blank">http://mail.pm.org/mailman/listinfo/saopaulo-pm</a><br></blockquote></div></div></div><br>
<br>_______________________________________________<br>
SaoPaulo-pm mailing list<br>
<a href="mailto:SaoPaulo-pm@pm.org" target="_blank">SaoPaulo-pm@pm.org</a><br>
<a href="http://mail.pm.org/mailman/listinfo/saopaulo-pm" target="_blank">http://mail.pm.org/mailman/listinfo/saopaulo-pm</a><br></blockquote></div></div></div><div><div></div><div class="h5"><br><br clear="all"><br>-- <br>

Renato Santos<br><a href="http://www.renatocron.com/blog/" target="_blank">http://www.renatocron.com/blog/</a><br>

</div></div></blockquote></div><br><br clear="all"><br>-- <br>Renato Santos<br><a href="http://www.renatocron.com/blog/" target="_blank">http://www.renatocron.com/blog/</a><br>
</div>