Gerar PDF de Consulta fica com caracteres inválidos (Charset)

Olá pessoal,

Boa Páscoa para todos.

Estou com um problema. Tenho um projeto todo configurado para ISO-8859-1, e tudo está funcionando sem nenhum problema.

O que acontece é que em várias Consultas (GRID) eu habilito o botão Gerar PDF na barra de ferramentas.

O PDF é gerado, mas com os caracteres inválidos, como se fosse em UTF-8. Na consulta está aparecendo tudo correto, com as acentuações normais, mas no PDF não.

Já tentei arrumar de várias formas e não consigo ver onde está o problema.

Estou usando a última versão do SC.

Alguém pode dar uma ideia de onde arrumar isto?

Obrigado a todos.

[]'s

A base de dados é UTF-8 ou ISO?

Olá Yuri,

A base de dados é latin1_swedish_ci.

Todos os campos estão com a mesma “colação”.

O projeto está em ISO-8859-1, bem como todas as aplicações.

Na tela tudo aparece sem nenhum problema e também no banco de dados, acessando pelo PHPMyAdmin, mas quando mando Gerar PDF, o PDF aparece com os caracteres inválidos.

Agradeço antecipadamente seu auxĩlio.

Obrigado.

[]'s

O erro ocorre na geração do pdf em desenvolvimento ou em produção?

Bom dia Yuri,

Ocorre nos dois ambientes, tanto em produção como em desenvolvimento.

Na barra de ferramentas da Grid, se escolho a opção imprimir, é aberta uma nova janela e os textos estão perfeitos.

O problema só ocorre quando gero o PDF.

Obrigado.

[]'s

Bom dia Marco Aurélio, vi que você teve há alguns anos o mesmo problema que tenho agora quanto a geração de PDF com caracteres inválidos. Toda a minha aplicação e base de dados estão em ISO-8859-1 mas o PDF gerado trata como se fosse UTF-8, causando o erro.
Você chegou a alguma solução?
Estou usando a versão 9 do scriptcase após migração da V8

Pedro, boa tarde.
Uma solução um pouco chata que eu achei pra resolver isso foi ir em aplicação->configurações e alterar o charset para utf-8. Depois, para cada campo que eu sei que vai ter caracteres especiais, eu crio um lookup automatico com SELECT CAST(CONVERT(nome_da_coluna USING utf8) AS binary) FROM tabela WHERE id_tabela = {id_tabela}.

Assim eu forço ele a ignorar o ‘default_charset_name’ da base para trazer os dados com o charset convertido que eu quero.

Isso usei na aplicação de consulta/grid onde tem a exportação de pdf.

1 Curtida