Jump to content
Fórum Script Brasil
  • 0

(Resolvido) Lazarus - problema visualizando caracteres acentuados


Micheus

Question

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

Edited by Micheus
Link to comment
Share on other sites

8 answers to this question

Recommended Posts

  • 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 to comment
Share on other 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 to comment
Share on other 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 to comment
Share on other 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

Edited by Micheus
Link to comment
Share on other 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 to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Forum Statistics

    • Total Topics
      152.2k
    • Total Posts
      652k
×
×
  • Create New...