Encoding do XML

2 respostas
A

Boa tarde,

Estou com um problema com o encoding do XML.
Meu XML possui no topo o seguinte código:

<?xml version="1.0" encoding="ISO-8859-1" ?>

Um dos ítens do meu arquivo é o seguinte:

<descricaosubacao>Construir unidade de Educação Infantil - projeto do Proinfância.</descricaosubacao>

Notem que a acentuação está correta, mas quando vou fazer a leitura do mesmo ele está trocando estes acentos por caracteres especiais. O processo para executar a leitura que estou utilizando é o seguinte:

Socket clientSocket;

BufferedReader in = new BufferedReader(new InputStreamReader(clientSocket.getInputStream()));
DocumentBuilder builder = DocumentBuilderFactory.newInstance().newDocumentBuilder();

        Document document = builder.parse( new InputSource(xml) );
            
        XPath xpath = XPathFactory.newInstance().newXPath();
  
        entidadeDTO = getEntidadeDTO(xpath, document );

Para ler o campo citado acima faço da seguinte forma:

String descricao = getValue(xpath,"/pta/entidade/projetos/projeto["+(indiceProjeto)+"]/acoes/acao["+indiceAcao+"]/especificacoes/especificacao["+(i+1)+"]/descricaosubacao", document, XPathConstants.STRING);

Alguém sabe me dizer pq ele está trocando os caracteres mesmo o XML estando com o encoding correto?

Abraço

2 Respostas

B

Os caracteres especiais são tratados de maneira diferente. Dê uma verificada neste documento ele me ajudou a resolver alguns problemas.

http://caixamagica.org/LDP-PT/sgmltools-guide/sgmltools-guide-3.html

A

Boa tarde,

Consegui resolver o problema da seguinte forma:

BufferedReader in = new BufferedReader(new InputStreamReader(clientSocket.getInputStream(), harset.forName("ISO-8859-1")));

Obrigado pela ajuda

Criado 10 de maio de 2008
Ultima resposta 14 de mai. de 2008
Respostas 2
Participantes 2