Ir para conteúdo
  • Cadastre-se

dev botao

Componente ACBrIBPTax


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

Recommended Posts

Em minha aplicação, uso o componente ACBrIBPTax para fazer download da tabela IBPT atualizada, e atualizar minha base dados. Porém notei que ao atualizar minha base, grande parte das classificações fiscais que em sua descrição possui caracteres especiais, como por exemplo : "Outros búfalos para reprodução". Após serem baixadas através do método DownloadTabela tinham seus caracteres especiais substituídos por pontos de interrogação ("?") ficando com a descrição da seguinte forma: "Outros b?falos para reprodu??o". Ao debugar todo o método de download do componente, percebi que até certo momento as descrições estavam todas corretas, porém ao passar pela seguinte verificação no arquivo ACBrSocket :

if ParseText then
    RespHTTP.Text := ACBrUtil.ParseText( RespHTTP.Text, True, IsUTF8 )
else
    RespHTTP.Text := ACBrUtil.DecodeToString( RespHTTP.Text, IsUTF8 );

troca os caracteres especiais por pontos de interrogação, independentemente da propriedade ParseText do componente. Observação: Formato de codificação do arquivo é Ansi. Alguém teve esse tipo de problema ?? Como proceder ?? Seria algum problema com o método de Download do Componente ??

Link para o comentário
Compartilhar em outros sites

  • Fundadores

Qual é a sua IDE ? (Delphi, Lazarus) versão...

Qual é o passo a passo para a reprodução do problema, usando os Demos do ACBr ?

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 para o comentário
Compartilhar em outros sites

Não estou usando os demos do ACBr, porém irei mostrar aqui o procedimento que estou fazendo...

// Faço download da tabela
  if ACBrIBPTax1.DownloadTabela then
  begin
    Application.ProcessMessages;
    ACBrIBPTax1.Exportar(gsAppPath + 'TabelaIBPT2016.CSV', exCSV); // Salvo o arquivo exportado para a pasta da minha aplicação.

    ...

  end;

 

Após feito este procedimento, tenho o arquivo salvo na pasta da minha aplicação, se eu abri-lo diretamente, sem que minha aplicação precise ler este arquivo, tenho os caracteres especiais já bagunçados, trocados por pontos de interrogação como eu expliquei anteriormente, notei que antes mesmo da exportação do arquivo, já após feito o download o arquivo já está com este problema.

Link para o comentário
Compartilhar em outros sites

  • Fundadores
  • Solution

O método: " ACBrIBPTax1.DownloadTabela" irá baixar a tabela de um servidor por você especificado...

Provavelmente esse provedor está respondendo com encoding de UTF8 e o arquivo contido nele, está em ANSI

 

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 para o comentário
Compartilhar em outros sites

Sim, o arquivo estava com codificação ANSI. Alterei através do Notepad++ para UTF-8(sem BOM) e deu certo, após feito isso o método "ACBrIBPTax1.DownloadTabela" passou a funcionar de forma correta, agora após feito o download o arquivo fica da forma que eu preciso. Obrigado Daniel pelo auxilio, problema resolvido.

Link para o comentário
Compartilhar em outros sites

  • 2 anos depois...
  • Este tópico foi criado há 1877 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.
Visitante
Este tópico está agora fechado para novas respostas
×
×
  • 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.