IReport acentuação no campo Text field

1 resposta
cleiton_herrmann

Olá pessoal, to com um problema q nao consigo resolver, ja pesquisei em varios foruns, google, mais todas soluções q achei e q testei nao resolveram meu problema.

Pois bem, eu comecei a desenvolver relatórios pro meu sistema, usando o ireport 3.5.3, fiz alguns e até entao tinha percebido que o contador de paginas, sempre aparecia com caracteres estranhos no lugar do “á” de “Pág:”, mais nao tinha dado muita importancia, achei q ia resolver isso facinho, mais nao…

Estou a dois dias tentando resolver, e o que eu descobri é o seguinte:
-Nao é problema com a codificação do banco(Postgre), que é Win1252, pq as palavras com acentuação q vem do banco, sao exibidas corretamente…
-Os textos estáticos do relatório(campos static text) também aparecem corretamente quanto a acentuação…
Agora o problema:
-Eu faço uma expressao em um campo (text field), e dependendo do resultado dessa expressao, eu mostro uma palavra ou outra, como abaixo:

atributo.intValue() == 1 ? "DESPESAS FIXAS" : atributo.intValue() == 2 ? "DESPESAS VARIÁVEIS" : atributo.intValues() == 3 ? "RECEITA" : ""
ou seja, se determinado campo do meu bean, for igual a 1, eu mostro despesas fixas no text field, se for igual a dois mostro despesas variaveis…
Porém, só nos text field está ocorrendo esse problema na acentuação, a palavra “variáveis” aparece com caracteres estranhos no lugar do “á”

Já tentei trocar o pdfEncoding do text field pra todas opcoes possíveis, mais nao funcionou…
Já tentei colocar uma propriedade no relatorio para a codificação do report , tentei com “ISO-8859-1”, mas tbem nao funcionou (nao tenho certeza se essa propriedade existe, achei por ai…)

Enfim, o problema está somente nos text field, e com strings que aparecem através do relatorio mesmo, as que vem diretamente do banco, estao aparecento corretamente

Alguem tem alguma idéia…

Desde já grato !!!

1 Resposta

cleiton_herrmann

eu fiz uma solução extremamente gambiarrenta, mais se ninguem me der uma ideia pra resolver o problema, acho q vou acabar usando isso:
invés de usar text field com a expressao, eu coloquei 3 static text, na mesma posicao x e y, e na propriedade “print when expression” eu coloquei a expressao, sendo assim, cada um dos 3 só será exibido quando a expressao retornar true, um para cada tipo de grupo, despesa fixa, variavel e receita…

mas é muita gambiarra, nao entendo pq no visualizador no ireport o relatório aparece com a acentuação correta nos text fields e quando eu gero pelo meu programa, a acentuação fica errada…

Criado 19 de agosto de 2009
Ultima resposta 19 de ago. de 2009
Respostas 1
Participantes 1