Ir para conteúdo
  • Cadastre-se

dev botao

Input is not proper UTF-8, indicate encoding ! - Provedor IPM em Parobé/RS


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

Recommended Posts

Postado

Bom dia

Estou com um problema que não vi solução no componente.

Estou usando o ACBrNFSeX, e sempre da o mesmo erro ao salvar o retorno.

Erro(s):
Código  : X999
Mensagem: Erro de Conexão: Input is not proper UTF-8, indicate encoding !
Bytes: 0xE1 0x6C 0x69 0x64

Isso no provedor IPM em Parobé/RS

procedure TACBrNFSeProviderIPM.TratarRetornoEmitir(Response: TNFSeEmiteResponse);

na linha

Document.LoadFromXml(Response.ArquivoRetorno);

Tentei mudar as opções

              FACBrNFSe1.Provider.ConfigGeral.FormatoArqRetorno := tfaTxt;
              FACBrNFSe1.Provider.ConfigGeral.FormatoArqRetornoSoap := tfaTxt;

mas mesmo assim ele entra nessa função pra gerar o XML.

Consegui validar a NFSe no provedor, porem não consigo seguir no Componente pois não retorna o Motivo correto, da o erro, e também imagino que não vou conseguir carregar o XML pra imprimir.

Alguem pode me ajudar?

84-lista-nfse-ger.txt 84-lista-nfse-ger-soap.txt

  • Consultores
Postado

Boa tarde Fabiano,

Você tem fontes com alterações locais?
Verifica se não tem nenhuma unit do ACBr com uma bolinha vermelha em seu ícone, caso afirmativo delete a unit.
Atualize todos os fontes de todas as pastas.
Reinstale o ACBr com a opção de apagar arquivos antigos marcada.
Compile a aplicação com a opção Build.
 

Consultor SAC ACBr

Italo Giurizzato Junior
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

Analista de Sistemas / Araraquara-SP

Araraquara - A era dos Trólebus

Postado

Oi @Italo Giurizzato Junior, infelizmente não funcionou :(

Exclui a pasta ACBr;

Importei o trunk2 novamente;

Exclui a lib do projeto;

Instalei o ACBr novamente com o ACBrScriptgui (pois uso o Lazarus);

Fiz o build do projeto;

Executei com Debug pra testar e seguiu o erro.

Dai fui olhar se tinha algum DEF ou outra condição, e notei isso:

image.thumb.png.1f40c34bf16546735fba04055e8a1a7a.png

Será que pode interferir?

Na curiosidade foi no Exemplo

image.png.51c62225347268397e7143670114fee0.png

Segue os arquivos do Exemplo tbm.

2-lista-nfse-ger.xml 2-ger-nfse.xml

Postado

Show de bola.

00285 - NFs-e v lida para emiss o. (probleminhas no retorno ali)

image.png.94b834c1b1467c4cea62cf5084d8146c.png

Coloquei direto aqui, mas acho que é melhor tratar em outro lugar, pois como viu no log ficou errado.

Tem alguma propriedade em algum dos componentes que possa colocar isso (algo que diga que esse retorno não é UTF-8)?

Estranho que no cabeçalho dos arquivos esta "<?xml version="1.0" encoding="UTF-8"?>",

Será que é pq ta em maiúsculo?

  • Consultores
Postado

Bom dia Fabiano,

O inicio informando o encoding é incluído pelo componente antes de salvar em disco.

O componente detecta que o conteúdo é um XML e automaticamente acrescenta o encoding.

Pelo o que eu entendi ao executar o xmlParseDoc em um XML que não esteja codificado em UTF-8 o valor de loadedDoc vai ser nil.

Se isso ocorrer executa novamente o xmlParseDoc mas executando a função AnsiToUtf8,

Com essa alteração a leitura do XML ocorreu sem nenhum problema?

Como ficou as vogais acentuadas e o cedilha?

Consultor SAC ACBr

Italo Giurizzato Junior
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

Analista de Sistemas / Araraquara-SP

Araraquara - A era dos Trólebus

  • Consultores
Postado

Boa tarde Fabiano,

Não sei se a sua solução não vai gerar efeito colateral com outras versões do Delphi (não sei qual você usa) ou com o Lazarus ou até mesmo com outros provedores.

Talvez o melhor lugar por enquanto é colocar na unit IPM.Provider.

Na função:

function TACBrNFSeXWebserviceIPM.TratarXmlRetornado(const aXML: string): string;
 

Trocar a linha:

    Result := String(NativeStringToUTF8(Result));
 

por :

    Result := AnsiToUTF8(Result);
 

Faça essa alteração e faça novos testes.

Consultor SAC ACBr

Italo Giurizzato Junior
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

Analista de Sistemas / Araraquara-SP

Araraquara - A era dos Trólebus

  • 4 semanas depois ...
Postado

Boa tarde Italo, estou tendo o mesmo problema relatado pelo Fabiano.

Fiz os ajustes que você sugeriu na função: function TACBrNFSeXWebserviceIPM.TratarXmlRetornado(const aXML: string): string;
Mas ainda estou recebendo o mesmo erro para a prefeitura de Sapiranga-RS provedor IPM.

Baixei os fontes atualizados e ainda está com o código: Result := String(NativeStringToUTF8(Result));

Alguma sugestão como posso resolver?

 

 

 

Postado

Oi, @sgesoftware em Porto Alegre eu não resolvi ainda, estou envolvido com o TEF agora.

Em Portão eu sincronizei os fontes que o Ítalo publicou e ficou ok, até então.

Em 03/11/2023 at 11:49, Fabiano Oliveira de Castro disse:

Bom dia @Italo Giurizzato Juniorcom AnsiToUTF8 não funcionou, mudei pra ACBrStr e ficou certinho.

image.thumb.png.e8bd624238e0bf675ca3b9e792971719.png

Tem como mudar isso no svn ou como faço pra manter essa alteração quando atualizar?

Muito obrigado.

Tu fez isso? 

Mudar pra ACBrStr?

Na verdade não lembro se ja sincronizei os fontes ainda

 

  • Este tópico foi criado há 361 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.