Jump to content

dev botao

Off - Firebird Gravando Caracteres Estranhos


Valdir Dill
Go to solution Solved by Daniel Simoes,
  • Este tópico foi criado há 1229 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

  • Membros Pro

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

 

 

Link to comment
Share on other sites

  • Fundadores
  • Solution

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

  • Like 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.

Link to comment
Share on other sites

  • Consultores

@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.
Link to comment
Share on other sites

  • Este tópico foi criado há 1229 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.

The popup will be closed in 10 seconds...