1
resposta

Dúvida sobre encode com XStream e o SpringBoot

Olá. Gostaria de saber se há alguma relação entre as configurações que podem ser colocadas em um projeto SpringBoot com a geração de xml do XStream. Por exemplo, o trecho de código que vou colocar abaixo, cria um objeto XStream e configura o gravador (Writer) para utilizar o encode UTF-8 (conforme documentação diz) funciona normalmente em projetos java-comum, ou até em um projeto SpringBoot zerado, porém em um projeto alheio que estou trabalhando, o encode é completamente ignorado (acentos, cedilha,etc), sendo trocados por "?".

Segue o trecho de exemplo de como configuro o XStream:

       XStream xs = new XStream(new DomDriver("UTF-8"));
        xs.setMode(XStream.NO_REFERENCES);
        xs.autodetectAnnotations(true);
        xs.addDefaultImplementation(java.sql.Date.class, java.util.Date.class);
        //xs.registerConverter(new DCDuasCasas());
        //xs.registerConverter(new DCQuatroCasas());

        ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
        Writer writer = new OutputStreamWriter(outputStream,     StandardCharsets.UTF_8);
        writer.write("<?xml version=\"1.0\" encoding=\"UTF-8\" ?>\n");
        xs.toXML(dadosArquivo, writer);
        String xml = outputStream.toString("UTF-8");

        System.out.println(xml);

Se alguém souber de informações, ficarei grato, pois já pesquisei bastante e não obtive informações para esse problema.

1 resposta

Por mais bobo que pareça, o problema está na IDE Eclipse, ao executar no NetBeans, por exemplo, a configuração do encode é respeitada normalmente. Porém ainda não sei como como configurar o Eclipse para tal.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software