Jump to content
Notícias do ACBr

click.png

click.png

click.png

click.png

click.png

click.png

click.png

click.png

click.png

consultoria_sticker.png

Conteúdo para desenvolvedores
 ao vivo de terça a quinta!
Saiba mais

dev.png

logo_acbr_paygo.png

TEF ACBr PayGo
Seja um revendedor e ofereça uma solução completa para seu cliente.


botao.png

beneficios.png

Off - Firebird Gravando Caracteres Estranhos


Go to solution Solved by Daniel Simoes,

Recommended Posts

  • Usuários SAC

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 post
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 post
Share on other sites

@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
Ajude o Projeto ACBr crescer - Assine o SAC

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 post
Share on other sites

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