Ir para conteúdo
  • Cadastre-se

dev botao

Off - Firebird Gravando Caracteres Estranhos


Ver Solução Respondido por Daniel Simoes,
  • Este tópico foi criado há 1454 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

  • Membros Pro
Postado

Bom dia,

Estou com um problema que ocorreu já umas duas vezes em 1 cliente.
O problema é off-tópic, mas como tem relação com gravação de dados em DFes, talvez alguém do grupo já tenha vivido situação semelhante e agradeço se puder me ajudar.

É o seguinte: para gravar os XMLs de DFes no banco de dados, utilizamos a função zip da acbrUtil.

O erro acontece quando vamos descompactar (unzip) o dado gravado. Dá o "error reading zip file".
Analisando o dado gravado no banco nesse campo aparece o seguinte texto:
x��:[��Ȓ��+��<���"�zi�&WQnrQ��|�(�
O texto é bem maior, mas tudo assim, com caracteres estranhos. É como se o sistema ao gravar ou então o banco de dados tivesse disparado uma conversão em outro encoding.

Investigando mais, verificamos que não é o zip() que causou o problema. Imagino eu que possa ser alguma coisa na máquina do usuário.
Em outros campos de outras tabelas onde o conteúdo do texto tenha acentos, ocorreu o mesmo problema, ou seja, ficou gravados caracteres estranhos no banco.
Por exemplo:
Um texto que deveria estar assim: Iniciou a NFe 95 série 1, vinculada à venda n° 97
Está assim: Iniciou a NFe 95 série 1, vinculada à  venda nº 97

O mais estranho ainda é que isso ocorreu apenas em um dia específico. Nos dias anteriores e nos dias seguintes, o mesmo sistema, no mesmo banco de dados, tudo foi gravado corretamente.
É como se alguma coisa na máquina, nesse dia e apenas nesse, tivesse mudado e depois retornado ao normal. 

O charset do banco é CHARACTER SET WIN1252 COLLATE WIN_PTBR.

Se alguém já tiver passado por uma situação dessas e puder me dar alguma dica...

Obrigado.

Valdir Dill

Rio de Janeiro - RJ

 

 

  • Fundadores
  • Solution
Postado

Por algum motivo, o Banco de Dados salvou essa informação como UTF8... pode ser algo no Banco, ou na configuração de conexão a ele...

a conversão do stream do ZIP.para UTF8, corrompeu o mesmo...

O caractere que aparece no inicio da string... é o "BOM", sinalizador de UTF8
https://pt.wikipedia.org/wiki/Marca_de_ordem_de_byte

  • Curtir 2
Consultor SAC ACBr

Daniel Simões de Almeida
O melhor TEF, é com o Projeto ACBr - Clique e Conheça
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.

  • Consultores
Postado

@valdirdill O Firebird aceita você informar o formato (collate) nos campos. Também permite fazê-lo na conexão. Se o seu SQL não possuir esses valores, será usado o valor padrão da conexão ou da tabela dependendo do caso.

[]'s

Consultor SAC ACBr

Elton
Profissionalize o ACBr na sua empresa, conheça o ACBr Pro.

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.

Um engenheiro de Controle de Qualidade(QA) entra num bar. Pede uma cerveja. Pede zero cervejas.
Pede 99999999 cervejas. Pede -1 cervejas. Pede um jacaré. Pede asdfdhklçkh.
  • Este tópico foi criado há 1454 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora
×
×
  • Criar Novo...

Informação Importante

Colocamos cookies em seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies, caso contrário, assumiremos que você está bem para continuar.