Substituição de acentuação com encoding desconhecido

6 respostas
adrianostanley

Olá pessoal.

Estou fazendo uma requisição de um Servlet a uma página externa que está me retornando uma resposta com um encoding desconhecido.

Acontece que quando quero imprimir na minha página que está em UTF-8, ele imprime, ao invés de “Glória”, “Gl�ria”.

Já consultei os posts do GUJ e achei muitas funções de substituição de Ó ou O, ó por o, etc. Mas nenhuma que substitua, por exemplo � por o.

Alguém pode me informar se existe uma forma de transformar isso ou de descobrir qual é o encoding que uma String está?? Descobrindo eu consigo pelo menos tentar transformá-la.

Obrigado!

6 Respostas

malhuco

você fez em UTF-8 e o browser está abrindo com UTF-8?

adrianostanley

Independente do modo que eu faço, se com UTF-8 ou com ISO- etc… ele sempre retorna um caracter especial no lugar do ‘ó’. Só funciona direito mesmo quando isso está local, no NetBeans do meu PC de casa. No do servidor sempre retorna um caracter especial e não faço a mínima idéia do porque ou de como começar a investigar isso.

malhuco

mas esse nome glória é algo estático ou vem de um Banco de Dados, pois pelo o que percebi na sua casa funcionou bem, mas em outro lugar não.

Caso esta informação venha de um BD, verifique qual a codificação do BD.

adrianostanley

Estou consumindo uma URL de um site que fornece o CEP de acordo com seu número e um dos nomes vem com acento no ó. “Glória” foi um exemplo. No site deles não existe nada falando sobre qual é a codificação eles usam.

malhuco

Se você esta consumindo um webService de terceiros e e em um lugare funciona e outro não, deve ser seu Browser, troca de browser para testar.

adrianostanley

O browser acho difícil pois no servidor local com os mesmos browsers funciona. Já com a aplicação no servidor mesmo não.

Criado 7 de junho de 2010
Ultima resposta 8 de jun. de 2010
Respostas 6
Participantes 2