Charset & BufferedReader

5 respostas
Rafael_Steil

Seguinte, tenho um arquivo escrito em bom portugues, ou seja, todo acentuado. Quando leio o arquivo, porem, os acentos vem todos zuados ( aparecem caracteres nada a ver no lugar ). Pelo que vi na documentacao, precisava usar algum reader com suporte a charsets.

Tentei algumas variantes de codigo, mas nada de sucesso ate agora. Alguns codigos que ja tentei foram:

BufferedReader r = new BufferedReader(new InputStreamReader(System.in, "ISO-8859-1"));

// forma 2
BufferedReader r = new BufferedReader(new InputStreamReader(System.in, Charset.forName("ISO-8859-1")));

ate com FileInputStream eu ja tentei, mas nada de os acentos ficarem corretos ate agora.

Alguma ideia?
ps: usei System.in pra nao ficar criando instancia de FileInputStream. Executo o programa usando assim:

java Teste < meuarquivo

valeu
Rafael

5 Respostas

Paulo_Silveira

o problema eh o msdos ou o shell do linux

voce tentou fazendo FileInputStream mesmo?

Guilherme_Silveira

o q o paulo falou esta certo pq o codigo primeiro de todos q vc mandou eu sempre uso e da na boa

gui

Rafael_Steil

Tentei sim. Posso estar fazendo da maneira errada, mas testei assim:

BufferedReader r = new BufferedReader(new InputStreamReader(new FileInputStream("meu.arquivo"), "ISO-8859-1"));

Rafael

Rafael_Steil

Ta, mas se eu dou um cat meu.arquivo, os acentos aparecem corretamente, entao nao pode ter o terminal ou o shell, senao zuava tmb.

Alguma outra forma de fazer isso?

Rafael

Rafael_Steil

ok, ok, testei em um outro servidor e funcionou. Era realmente o terminal.

Vou ver se configuro direito a outar maquina :slight_smile:

valuez

Rafael

Criado 26 de setembro de 2002
Ultima resposta 26 de set. de 2002
Respostas 5
Participantes 3