Uhh! Vamos com calma, vou tentar responder algumas questões.<br><br>1. Se eu "voltar no tempo" e exportar o banco de dados antes da formatação, eu irei perder os novos registros. Acreditem, depois da formatação muitos registros foram feitos.<br>
<br>2. A codificação do banco e a codificação da página web (aplicação) estão em UTF-8.<br><br>3. Se eu der um dump hoje, via DOS, os novos registros saem corretamente acentuaçãos. Os antigos permanecem incorretos. (a saida do dump vai para um arquivo SQL)<br>
<br><br>> Mas, pode ser que algum software recodificou os caracteres com essa<br>
> interpretação errada e aí você nunca vai saber qual era a codificação do<br>>
caracter original, porque nesse caso o banco de dados realmente está<br>>
armazenando caracteres codificados, em UTF8, que foram re-convertidos de<br>>
uma decodificação errônea para Latin-1. (ufa, deu pra entender?)<br><br>Sim, entendi. (não queria entender, mas entendi).<br><br><br>Vou fazer mais alguns testes (em ambiente de testes é claro) e posto minha conclusões assim que possível.<br>
<br><br>Um abraço,<br>João Gabriel Casteluber Laass<br><br><br><br><br><br>
<br><br><br><br><div class="gmail_quote">Em 18 de junho de 2010 21:51, Eden Cardim <span dir="ltr"><<a href="mailto:edencardim@gmail.com">edencardim@gmail.com</a>></span> escreveu:<br><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
>>>>> "João" == João Gabriel Casteluber Laass <<a href="mailto:gabriel@joaogabriel.org">gabriel@joaogabriel.org</a>> writes:<br>
<br>
João> O problema é que todas as palavras acentuadas agora aparecem<br>
João> com um "?" em navegadores web.<br>
<br>
Tem certeza que são só as acentuadas?<br>
<br>
João> Não é o charset da aplicação que solicita dados no banco de<br>
João> dados porque é a mesma aplicação (inclusive a versão da<br>
João> aplicação é a mesma)<br>
<br>
Explica de novo, isso que você falou não fez sentido.<br>
<br>
João> [A aplicação em questão é o DotProject versão 2.1 e os campos<br>
João> com texto estão com COLLATE utf8_unicode_ci].<br>
<br>
COLLATE não tem nada a ver com a exibição dos caracteres.<br>
<br>
João> Outro fato é que os novos registros no banco de dados estão<br>
João> corretos.Já tentei de várias formas (usando Perl, Java,<br>
João> funções do PHP, outros softwares) descobrir em que charset<br>
João> estão as palavras acentuadas com erro. Não consegui<br>
João> nada. Absolutamente nada.<br>
<br>
Sinto lhe informar, mas codificação de caracteres não é algo dedutível,<br>
você precisa saber a codificação usada na hora em que os caracteres<br>
foram armazenados, não tem como "adivinhar". O máximo que você pode<br>
fazer é ir tentando todas as codificações que você acha que foram usadas<br>
e verificar visualmente se o caracter que aparece faz sentido.<br>
<br>
João> Segue um exemplo de pequenas frases com problemas:CAF� DA<br>
João> TARDE --> deveria ser "CAFÉ DA TARDE"Caf é --> deveria ser<br>
João> "Café"REUNI�ES INTERNAS --> deveria ser "REUNIÕES INTERNAS"<br>
<br>
Isso está com cara de UTF8 interpretado como Latin-1 ou algum outro tipo<br>
de codificação de largura não-variável. Tanto UTF8 e Latin-1 são<br>
projetadas para que os primeiros 128 caracteres coincidam com ASCII, por<br>
motivo de retrocompatibilidade, por isso o problema só se manifesta nos<br>
caracteres non-ASCII (dentre eles, as letras acentuadas). Observa como o<br>
"é" se transformou em "é" (dois caracteres) e "Õ" se transformou em<br>
"�" (3 caracteres) por conta do fato de "é" em UTF8 ser representado<br>
por 2 bytes e "Õ" ser representado por 3 bytes. Ou seja, os caracteres<br>
estão armazenados em UTF8 mas o software que exibe os caracteres está<br>
decodificando em alguma codificação de tamanho fixo (como Latin-1). Se<br>
for isso é bem simples, é só mudar a codificação do browser para UTF-8<br>
(no firefox fica em View > Character Encoding > Unicode (UTF8)). Mas,<br>
pode ser que algum software recodificou os caracteres com essa<br>
interpretação errada e aí você nunca vai saber qual era a codificação do<br>
caracter original, porque nesse caso o banco de dados realmente está<br>
armazenando caracteres codificados, em UTF8, que foram re-convertidos de<br>
uma decodificação errônea para Latin-1. (ufa, deu pra entender?)<br>
<br>
Seguem alguns artigos que deve esclarecer melhor o que está acontecendo:<br>
<a href="http://www.joelonsoftware.com/articles/Unicode.html" target="_blank">http://www.joelonsoftware.com/articles/Unicode.html</a><br>
<a href="http://www.faqs.org/rfcs/rfc2044.html" target="_blank">http://www.faqs.org/rfcs/rfc2044.html</a><br>
<div><div></div><div class="h5">_______________________________________________<br>
Cascavel-pm mailing list<br>
<a href="mailto:Cascavel-pm@pm.org">Cascavel-pm@pm.org</a><br>
<a href="http://mail.pm.org/mailman/listinfo/cascavel-pm" target="_blank">http://mail.pm.org/mailman/listinfo/cascavel-pm</a><br>
</div></div></blockquote></div><br>