Problema ao extrair UTF-8 de arquivo texto

Java

14/06/2013

Olá,

Estou tendo o seguinte problema: lendo arquivos texto (recebidos de uma fonte externa) e percebendo caracteres estranhos no mesmo, parti para a conversão em UTF-8, assim:

linha = new String(linha.getBytes(), "UTF-8");


Porém, ainda acontecem problemas com os caracteres Á, Í e À (o texto é todo maiúsculo), eles se tornam algo como "??".

Como posso resolver esse problema?

Fabio Zimmermann

Fabio Zimmermann

Curtidas 0

Respostas

Marcelo Senaga

Marcelo Senaga

14/06/2013

Poste o código inteiro. E tente usar ISO_8859_1.
GOSTEI 0
Fabio Zimmermann

Fabio Zimmermann

14/06/2013

Olá,

Não dá para mandar o código inteiro, ele é dividido em várias classes. Mas, posso apontar o seguinte:

- Uma classe local que estende LineNumberReader (java.io - estende BufferedReader) faz a leitura dos arquivos, por meio do método readLine() - isso faz parte de uma estrutura já pronta qdo comecei aqui onde estou;

- Até alguns dias atrás, esses arquivos eram sempre recebidos em ANSI e não havia problema algum. Porém, alguns arquivos, todos de uma fonte específica, começaram a vir em formato UTF-8 - e mesmo convertendo para UTF-8 na mão nesses casos, como no código do post inicial, ainda aparecem problemas com aquelas letras acentuadas. Então me informei e vi algo sobre arquivos "with BOM", "without BOM", mas no Java não ocorre essa diferenciação, é UTF-8 e pronto;

- Esses arquivos a ler vêm de fontes/lugares sobre os quais não tenho controle direto. Eles foram informados disso, mas a resposta não sei qdo virá;

- Portanto, gostaria de saber como posso fazer, se esses arquivos virem com o texto dessa maneira sempre e não tiver jeito.
GOSTEI 0
Marcelo Senaga

Marcelo Senaga

14/06/2013

Veja se isso ajuda:

http://stackoverflow.com/questions/9281629/read-special-characters-in-java-with-bufferedreader
GOSTEI 0
POSTAR