A classe criada para isso seta o OutputStreamWriter com o Charset para “ISO-8859-15” por que é utilizado o símbolo da moeda Euro no sistema.
Porém, estamos enfrentando um problema com acentos informados sozinhos.
Ex.:
O usuário informa uma descrição: DAVID´S BAR
O símbolo utilizado para a contração foi o acento agudo. Não que esteja de todo errado (o certo seria o apóstrofo) apesar de o sistema gravar corretamente esse acento na base, ao consultar esse registro a informação exibida ne tela é a seguinte:
DAVID?S BAR
O problema ocorre somente com o acento agudo. Todos os outros acentos são exibidos corretamente. Parece ser um bug dessa versão do Charset.
O servidor é Tomcat 5.5 com Struts 1
Alguém já passou por isso ou sabe de algo pra me indicar por onde pesquisar?
Inicialmente, o comando abaixo era o default do sistema, antes de adotar, também, o uso do símbolo do Euro:
OutputStreamWriter tempOut = new OutputStreamWriter(zipOut);
Ao adotar o símbolo do Euro, passou a ser assim:
OutputStreamWriter tempOut = new OutputStreamWriter(zipOut, "ISO-8859-16");
Com isso, o acento agudo acabou sendo substituído por ?.
Depois de tantas idas e vindas, pesquisas e leituras em sites, substituí o ISO-8859-16 por ISO-8859-1, e funcionou.
Só pra esclarecer, eu esqueci de mencionar anteriormente que o símbolo do Euro ? está gravado assim, como ? ( alt + 0128 ) na base (Oracle 9i) e ele é exibido corretamente na página.