Ir para conteúdo
Fórum Script Brasil
  • 0

(Resolvido) Lazarus - problema visualizando caracteres acentuados


Micheus

Pergunta

Olá pessoal,

Estou convertendo um antigo projeto do Delphi 7 para o Lazarus. Do ponto de vista do código e telas os problemas tem sido contonados.

Meu problema diz respeito à visualizão de informações cadastradas em um banco de dados. Como voces podem observar na figura, os caracteres acentuados são suprimidos ou substituídos por "?".

Algum de voces saberia como contornar este problema?

lazarusa.png

Editado por Micheus
Link para o comentário
Compartilhar em outros sites

8 respostass a esta questão

Posts Recomendados

  • 0

Oi Micheus ... já tive esse problema , mas com outro banco de dados

voce pode montar uma rotina para ler e copiar os registros nessa tabela

ou voce pode definir na criação da tabela CHARACTER SET UTF8 COLLATE UNICODE_CI, para aceitar acentuações

abraço

Link para o comentário
Compartilhar em outros sites

  • 0

O Lazarus por default é unicode, ou seja aceita vários caracteres.

veja se consegue setar o character set para todo o banco de de dados ... sei que tem uma maneira, mas não me recordo como.

a outra maneira é tentar montar uma pequena rotina para ler a tabela acentuada e transferir os registros para a outra tabela do lazarus

abraço

Link para o comentário
Compartilhar em outros sites

  • 0

Obrigado pelas respostas.

É... Parece que não tem jeito mesmo. Mas acho uma baita sacanagem, considerando que a ferramenta se propõe a ser uma alternativa ao Delphi, no mímino deveria permitir algum tipo de compatibilidade.

Depois que eu tiver conseguido resover este problema eu posto os procedimentos aqui - para o caso de mais alguém precisar.

Link para o comentário
Compartilhar em outros sites

  • 0

Consegui alguns comentários também no forum do Lazarus (Wrong character displayed)

Uma solução que resolve meu problema facilmente (não definitivamente) foi a sugestão de mudar na conexão do banco o parâmetro lc_ctype de WIN1252 para UTF8. (este post)

Funcionou imediatamente.

Questionei sobre algum efeito colateral, já que o banco ainda está configurado para WIN1252 e, segundo outro usuário, a possibilidade existe se eu usar algum caracter que não esteja no conjunto UTF8. Bom, consideranda a aplicação atual, só mesmo os caracteres "comuns" entre os dois estão sendo utilizados. Isto vai me dar um bom tempo para pensar em como fazer a bendita migração.

Abraços

Editado por Micheus
Link para o comentário
Compartilhar em outros sites

  • 0

Existe uma opção no projeto. i18n para internacionalização.

Tente setar esta opção. (projetos->opções de projetos->i18n->Ativar i18n)

No BD use o comando ALTER DATABASE `base`CHARSET = Latin1 COLLATE = latin1_swedish_ci;

Testado no MySQl.

Espero que ajude.

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,4k
×
×
  • Criar Novo...