Olá pessoALL!
Já faz muito tempo que tenho um problema e não consigo uma solução. Já fiz vários posts em fórus, inclusive aqui no GUJ e o tópico por fim foi esquecido e nada da solução pro meu problema.
Vejam dois tópicos antigos meus sobre o assunto para ficarem "por dentro":
http://www.guj.com.br/posts/list/44974.java e http://www.guj.com.br/posts/list/48844.java
Claro que com o passar dos meses o problema foi amadurecendo e cada vez mais eu fui conseguindo "cercar" o erro.
Qdo fiz os posts acima eu achava que a culpa era de alguma configuração do BD ou outra coisa, agora tenho "pistas" mais claras sobre qual é o problema. Mas ainda não consegui resolver, por isso peço ajuda dos amigos.
Bem, o que acontece vcs já devem ter lido nos posts antigos, simplesmente ao listar, APENAS os dados que são trazidos do BD vem com um quadradinho no lugar do acento (nos posts antigos tem imagens mais claras). Veja bem que acontece SÓ AO LISTAR, dentro do resto do programa não tem problema algum.
Recentemente fiz um gerador de relatórios, e através desse programa que eu fiz (que imita, de forma mais simples, um iReport da vida, gerando um .jrxml) gerei um .jrxml que faz o mesmo que o .jrxml que já tenho, que foi feito pelo iReport e que tem o problema da acentuação.
Minha surpresa foi que o .jrxml que eu fiz "na mão" NÃO DÁ O ERRO DE ACENTUAÇÃO, já o .jrxml que eu fiz pelo iReport DÁ O ERRO DE ACENTUAÇÃO.
A princípio desconfiei que pudesse ser a geração do .jasper pelo iReport.
Mas, ambos os .jrxml eu executei da mesma forma, usando a mesma classe e tudo o mais. Já tentei chamando o .jasper gerado pelo iReport e tb. já tentei gerando o .jasper em tempo de execução. Sempre o erro se repete.
Então tentei abrir o .jrxml que eu fiz manualmente no iReport e alterar qq coisa e salvar para ver se o erro passava a acontecer neste tb. -> o relatório continua certo!
Pra ser sincera, eu até já tentei até a olho nu comprar os dois .jrxml e NADA de diferença!
Eu não sei mais o que fazer, tenho a sensação de que o iReport, durante a geração do .jrxml faz alguma coisa que ferra com a acentuação.
Enfim, preciso de ajuda. Abaixo os links pra pegarem os dois .jrxml e poderem analisar:
.jrxml feito manualmente, SEM O ERRO: http://www.gznet.com.br/boo/problemaCharset/RelatorioDeOcorrencias.jrxml
.jrxml feito pelo iReport, COM O ERRO: http://www.gznet.com.br/boo/problemaCharset/RelatorioOcorrencias.jrxml
Ambiente:
Windows XP e Slackware 11 (o erro acontece em ambos)
Java 5
MySQL 5.0 e Oracle 9i (o erro só acontece quando rodo usando MySQL)
iReport 1.3.0
Eclipse 3.2.1
Conecto via JDBC
OBS: Ao verificarem os dois .jrxml não se espantem se estiverem um pouco diferentes, um foi gerado pelo iReport, outro pelo meu gerador de relatórios, então o nome de campos, variáveis, etc… é diferente. O que importa é que ambos pegam informações da mesma tabela e apresentam ao usuário de forma idêntica!
Por favor, agradeço qq. pista!!!