Acentuação problemática em relatórios [RESOLVIDO]

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. -&gt 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!!! :cry:

Renata,

Será que não é a codificação do arquivo?

Renata,

Isto está com cara de ser o encoding mesmo.

De uma verificada.

Se puder exportar o banco e os dados eu posso dar uma olhada aqui.

[]´s

[quote=davidbuzatto]Renata,

Será que não é a codificação do arquivo?[/quote]

[quote=fsquadro]Renata,

Isto está com cara de ser o encoding mesmo.

De uma verificada.[/quote]
Gente, eu já verifiquei. Vejam vcs mesmos nos .jrxml que enviei, estão iguais. O que mais posso verificar neles?! Eu sinceramente não sei mais como verificar… :cry:

[quote=Rafaelprp]Se puder exportar o banco e os dados eu posso dar uma olhada aqui.

[]´S[/quote]
Bem, o BD todo vc já deveria imaginar que não seria possível… no entanto eu exportei as tabelas que fazem parte deste relatório, como exemplo. Vc. pode pegar o script em http://www.gznet.com.br/boo/problemaCharset/bkp_meubanco.sql

Agora me diga, se o problema é no BD, então pq o mesmo relatório gerado pelo meu programa funciona e o gerado pelo iReport não?!?!?!

SOCORRO!!! :shock:

Vê aí se funciona agora.

Rafael, nada ainda, continua do mesmo jeito…

Veja a imagem pra vc não achar que eu estou loka :roll:

Qual driver jdbc que você usou ?

Aproveita o embalo e me manda a string da jdbc url que tá configurada do teu iReport.

Driver:

mysql-connector-java-5.0.4-bin.jar

String de conexão que uso atualmente:

jdbc:mysql://1.1.1.1:10/meuBanco?user=root&password=aSenha

Já tentei essa tb e não funcionou:

jdbc:mysql://localhost/meuBanco?useUnicode=true&characterEncoding=latin1&connectionCollation=latin1_swedish_ci

Obrigada

Tenta essas aqui:

jdbc:mysql://1.1.1.1:10/meuBanco?user=root&password=aSenha&useUnicode=true&characterEncoding=utf8

jdbc:mysql://1.1.1.1:10/meuBanco?user=root&password=aSenha&useUnicode=true&characterEncoding=iso-8859-1

jdbc:mysql://1.1.1.1:10/meuBanco?user=root&password=aSenha&useUnicode=false&characterEncoding=iso-8859-1

com iso-8859-2 também.

Más notícias… fiz com todos os que vc passou e com todos o resultado sempre é o mesmo! Sempre o msm erro!

Olha, eu sei que vc tá tentando achar o problema que pode estar no encoding do MySQL e eu tb já pensei nisso mil vezes (apesar de não ter conseguido resolver).

Só que tem uma coisa que me confunde muito!!! Se o problema fosse no MySQL, não acha que o outro .jrxml que eu enviei tb. teria que dar o msm erro?! Pq. com ele não acontece??? :cry: :cry: :cry:

Eu tô até zonza de tanto pensar e fazer testes aqui… :frowning:

teoricamente sim, mas já tentei mudar todos os encodings do xml. e nada

Se bem que qualquer relatório que eu faça aqui com esse seu banco, usando mysql, os caracteres tão vindo zuados.

Eu tb já tinha tentado e nada!

Me fala uma coisa, ai no seu computador tb. apareceu o erro ou não?!

Grata,

Desculpa, eu perguntei antes de ler sua outra resposta…

Então acontece com todos os rels?!?!?!
E com aquele outro que eu disponibilizei para download? Aquele que eu disse que fiz pelo meu programa e que aqui funciona naquele msm banco?

Pessoal, por favor, ngn mais tem alguma idéia que possa me ajudar?!

Não queria que pela terceira vez esse tópico ficasse esquecido sem solução… :cry: :cry: :cry:

Caso precisem, a resposta está no tópico http://www.guj.com.br/posts/list/48844.java#255963