ActiveDelphi - Índice do Fórum ActiveDelphi
.: O site do programador Delphi! :.
 
 FAQFAQ   PesquisarPesquisar   MembrosMembros   GruposGrupos   RegistrarRegistrar 
 PerfilPerfil   Entrar e ver Mensagens ParticularesEntrar e ver Mensagens Particulares   EntrarEntrar 

Caracteres especiais Delphi e FireBird.

 
Novo Tópico   Responder Mensagem    ActiveDelphi - Índice do Fórum -> Delphi
Exibir mensagem anterior :: Exibir próxima mensagem  
Autor Mensagem
seegeneroso
Novato
Novato


Registrado: Terça-Feira, 14 de Novembro de 2017
Mensagens: 2

MensagemEnviada: Ter Nov 14, 2017 3:17 pm    Assunto: Caracteres especiais Delphi e FireBird. Responder com Citação

Estou com um problema referente aos caracteres especiais.
Ao inserir determinados caracteres através da aplicação no banco (^~ç) o mesmo corrompe os caracteres.

Exemplo : MELÇ vira MELÇ.

Estou utilizando o charset WIN1252;

No banco está tudo certo, se eu der um insert através do IBExpert, não corrompe os caracteres, mas através da aplicação sim.
Porem no momento da conexão eu também informo o charset

Código:

  FDConnection1.Params.Database := FdbCaminho;
  FDConnection1.Params.UserName := FdbUsuario;
  FDConnection1.Params.Password := FdbSenha;
  FDConnection1.Params.Add('CharacterSet=WIN1252');
  try

    FDConnection1.Connected := true;
    FDQuery1.Active := true;
  Except

    raise Exception.Create
      ('Não foi possivel conectar no banco de dados, verifique os parametros informados, e a integridade do banco de dados!'
      + #13);

  end;


A conexão é setada os dados são inseridos, porem os caracteres especiais são corrompidos.
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
lokasso
Aprendiz
Aprendiz


Registrado: Terça-Feira, 11 de Abril de 2017
Mensagens: 174

MensagemEnviada: Qua Nov 15, 2017 11:31 pm    Assunto: Re: Caracteres especiais Delphi e FireBird. Responder com Citação

seegeneroso escreveu:
Estou com um problema referente aos caracteres especiais.
Ao inserir determinados caracteres através da aplicação no banco (^~ç) o mesmo corrompe os caracteres.

Exemplo : MELÇ vira MELÇ.

Estou utilizando o charset WIN1252;

No banco está tudo certo, se eu der um insert através do IBExpert, não corrompe os caracteres, mas através da aplicação sim.
Porem no momento da conexão eu também informo o charset

Código:

  FDConnection1.Params.Database := FdbCaminho;
  FDConnection1.Params.UserName := FdbUsuario;
  FDConnection1.Params.Password := FdbSenha;
  FDConnection1.Params.Add('CharacterSet=WIN1252');
  try

    FDConnection1.Connected := true;
    FDQuery1.Active := true;
  Except

    raise Exception.Create
      ('Não foi possivel conectar no banco de dados, verifique os parametros informados, e a integridade do banco de dados!'
      + #13);

  end;


A conexão é setada os dados são inseridos, porem os caracteres especiais são corrompidos.


Cara, também tive esse mesmo problema que você, o win1252 só reconhece alguns caracteres, para isso você terá que usar o charset ISO8859_1 ou UTF8 com collate UTF8, só um detalhe, você vai ter que mudar todos os campos texto do banco de dados outra solução é bloquear a digitação desses caracteres

Espero ter lhe ajudado
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
seegeneroso
Novato
Novato


Registrado: Terça-Feira, 14 de Novembro de 2017
Mensagens: 2

MensagemEnviada: Sex Nov 17, 2017 1:41 pm    Assunto: Re: Caracteres especiais Delphi e FireBird. Responder com Citação

lokasso escreveu:

Cara, também tive esse mesmo problema que você, o win1252 só reconhece alguns caracteres, para isso você terá que usar o charset ISO8859_1 ou UTF8 com collate UTF8, só um detalhe, você vai ter que mudar todos os campos texto do banco de dados outra solução é bloquear a digitação desses caracteres

Espero ter lhe ajudado


Entendi, porem o problema não é com o charset, pois quando eu insiro os mesmo caracteres através do proprio IBExpert os caracteres são aceitos.
E infelizmente mudar de charset também não é uma opção, pois todos os bancos de dados da empresa são com os mesmos charset.
Tem alguma coisa errada na minha aplicação, só não identifiquei onde ainda. Alem do charset e da collate você conhece mais alguma coisa que possa estar gerando esse problema?
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
lokasso
Aprendiz
Aprendiz


Registrado: Terça-Feira, 11 de Abril de 2017
Mensagens: 174

MensagemEnviada: Sex Nov 17, 2017 2:28 pm    Assunto: Re: Caracteres especiais Delphi e FireBird. Responder com Citação

seegeneroso escreveu:
lokasso escreveu:

Cara, também tive esse mesmo problema que você, o win1252 só reconhece alguns caracteres, para isso você terá que usar o charset ISO8859_1 ou UTF8 com collate UTF8, só um detalhe, você vai ter que mudar todos os campos texto do banco de dados outra solução é bloquear a digitação desses caracteres

Espero ter lhe ajudado


Entendi, porem o problema não é com o charset, pois quando eu insiro os mesmo caracteres através do proprio IBExpert os caracteres são aceitos.
E infelizmente mudar de charset também não é uma opção, pois todos os bancos de dados da empresa são com os mesmos charset.
Tem alguma coisa errada na minha aplicação, só não identifiquei onde ainda. Alem do charset e da collate você conhece mais alguma coisa que possa estar gerando esse problema?


Cara, fora o charset e o collate não sei o que poderia ser nao, pois pode ser o charset não do banco em si, mas sim o charset do componente que faz a conexão, tenta mudar apenas o charset do componente de conexao e tenta fazer um teste, as vezes da certo fazer isso, agora a outra solução é realmente bloquear esses caracteres no dbedit.

abraços
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
renanbg
Colaborador
Colaborador


Registrado: Quinta-Feira, 12 de Abril de 2012
Mensagens: 1158

MensagemEnviada: Sex Nov 17, 2017 4:26 pm    Assunto: Responder com Citação

Verifica se o collate esta WIN_PTBR
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
Mostrar os tópicos anteriores:   
Novo Tópico   Responder Mensagem    ActiveDelphi - Índice do Fórum -> Delphi Todos os horários são GMT - 3 Horas
Página 1 de 1

 
Ir para:  
Enviar Mensagens Novas: Proibido.
Responder Tópicos Proibido
Editar Mensagens: Proibido.
Excluir Mensagens: Proibido.
Votar em Enquetes: Proibido.


Powered by phpBB © 2001, 2005 phpBB Group
Traduzido por: Suporte phpBB