Estou com o mesmo problema ao importar um arquivo ASCII.
K
khaue_viana_
será que alguem ja passou por esse problema ai?
B
bruno.fantin
Vamos por partes.
khaue: Copiar uma string diretamente no código fonte não vai da certo mesmo. Mas acredito que você não esta fazendo isso. Então como que você esta obtendo a string original?
Harley: O arquivo que você esta lendo esta em ascii mesmo? Não é iso-8895-1? E como você esta fazendo para ler e converter?
E para os dois: Vocês configuraram o projeto certinho para utf-8?
Falou.
G
gomesrod
Esse código não funciona mesmo:
[email removido:
]
Stringmensagem="S?O PAULO";// Aqui você está pedindo para converter para bytes, usando a codificação ISO-8859-1byte[]teste=mensagem.getBytes("iso-8859-1");// Neste ponto o array teste contém uma sequencia de bytes representando a string SÃO PAULO, no encoding ISO-8859-1// Aqui vai mandar decodificar esse array usando o encoding UTF-8. Ou seja, não é o mesmo com que ela foi codificada.Stringsfinal=newString(teste,"UTF-8");// A string não contém os dados corretos.System.out.println(sfinal);
O ponto a observar aqui é que o construtor new String(teste,"UTF-8") não faz nenhum tipo de conversão entre encodings diferentes. O segundo parâmetro serve apenas para informar EM QUAL ENCODING A INFORMAÇÃO JÁ ESTÀ.
Qual seria a sua necessidade? Conte mais detalhes para que seja possível encontrar a melhor alternativa.
H
HarleySeixas
bruno.fantin:
Vamos por partes.
khaue: Copiar uma string diretamente no código fonte não vai da certo mesmo. Mas acredito que você não esta fazendo isso. Então como que você esta obtendo a string original?
Harley: O arquivo que você esta lendo esta em ascii mesmo? Não é iso-8895-1? E como você esta fazendo para ler e converter?
E para os dois: Vocês configuraram o projeto certinho para utf-8?
Bom, eu recebo um texto em formato ISO-8859-1. Esse texto vem de um web service feito em C#. Quero usá-lo no JAVA. Porém fica com errosn a utilizadação, esses erros de encoding ai
L
leandronsp
O segundo parametro do construtor da string não está escrevendo, apenas assumindo que o encoding da leitura é UTF-8.
Você deve ler o stream em ISO-8859-1 e escrever no encoding esperado ( no teu caso, UTF-8 ). Essa é a ideia, e tem muitos exemplos na internet de como fazer essa conversão de encoding.