Olá , boa tarde, meu nome é Luana e estou com problemas para tratar um txt e transformar em XML
estou usando a fantástica lib JAXB2 e é sem palavras …é perfeita , mas como nada é tão simples
assim , meu arquivo tem caracteres estranhos que foram acentuados no mainframe e ja tentei de tudo para
converter :
Vejam a palavra “INSTALA§¥O” eu preciso converte para “INSTALAÇÃO” e não consigo de jeito nenhum
Se alguém puder ajudar e me dar uma idéia eu agradeço.
O velho problema dos caracteres acentuados no mainframe… o fato é que a tabela de caracteres EBCDIC não possui nativamente caracteres acentuados. O que é feito é uma “guambiarra” para usar espaços vazios da tabela de códigos. Esta alteração é feita numa tabela de conversão da controladora de terminais. O pior é que num mesmo ambiente podem haver controladoras com configuração diferente, e aí o que acontece é que um caracter acentuado digitado em um terminal pode ser diferente do visto em outro terminal…
Mas voltando ao seu problema a solução é meio artezanal. Você primeiro vai ter que descobrir qual é o código hexadecimal de cada letra acentuada que está configurado no mainframe. É mais fácil se você puder corrigir o arquivo no mainframe, antes de transferí-lo para a baixa plataforma (o ftp com modo ascii vai embaralhar mais ainda os códigos não conhecidos). Depois no seu programa você tem que fazer mesmo uma tabela de conversão de-para e substituir os códigos pelos correspondentes da tabela ASCII.
Vou tentar fazer o que vc está falando e ver o que vai dar…
[quote=ctdaa]O velho problema dos caracteres acentuados no mainframe… o fato é que a tabela de caracteres EBCDIC não possui nativamente caracteres acentuados. O que é feito é uma “guambiarra” para usar espaços vazios da tabela de códigos. Esta alteração é feita numa tabela de conversão da controladora de terminais. O pior é que num mesmo ambiente podem haver controladoras com configuração diferente, e aí o que acontece é que um caracter acentuado digitado em um terminal pode ser diferente do visto em outro terminal…
Mas voltando ao seu problema a solução é meio artezanal. Você primeiro vai ter que descobrir qual é o código hexadecimal de cada letra acentuada que está configurado no mainframe. É mais fácil se você puder corrigir o arquivo no mainframe, antes de transferí-lo para a baixa plataforma (o ftp com modo ascii vai embaralhar mais ainda os códigos não conhecidos). Depois no seu programa você tem que fazer mesmo uma tabela de conversão de-para e substituir os códigos pelos correspondentes da tabela ASCII.[/quote]