Ir para conteúdo
  • Cadastre-se

Input is not proper UTF-8, indicate encoding ! Bytes: 0xE7 0xE3 0x6F 0x20


Recommended Posts

Postado

Aqui também, Consultar NFSe por Chave

Código  : X999
Mensagem: Erro de Conexão: Input is not proper UTF-8, indicate encoding !
Bytes: 0xE3 0x3C 0x2F 0x78
 

PadraoNacional.Provider.pas
linha 609 - DocumentXml.LoadFromXml(NFSeXml);

 

Se precisar, tenho o arquivo para testes.

  • Consultores
Postado
14 minutos atrás, fernando garoso disse:

Aqui também, Consultar NFSe por Chave

Código  : X999
Mensagem: Erro de Conexão: Input is not proper UTF-8, indicate encoding !
Bytes: 0xE3 0x3C 0x2F 0x78
 

PadraoNacional.Provider.pas
linha 609 - DocumentXml.LoadFromXml(NFSeXml);

 

Se precisar, tenho o arquivo para testes.

Você apagou os fontes modificados, fez o update e depois reinstalou o ACBr?
Outros usuários fizeram isto e deu certo.
 

 

Valter Patrick
Gerente de Projetos na empresa CTEC
Consultor ACBr
(33)98400-0936
GitHub: https://github.com/valterpatrick

Ajude o Projeto ACBr crescer - Assine o Clube PRO                    

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.  ícone Discórdia Discord   

Postado
14 minutos atrás, valterpatrick disse:

Você apagou os fontes modificados, fez o update e depois reinstalou o ACBr?
Outros usuários fizeram isto e deu certo.
 

 

Fiz sim, todo o processo de remover os arquivos antigos e tudo mais.

Aquele de remover o comentário na ACBrXmlDocument

//AXmlDocument := NativeStringToUTF8(AXmlDocument);

funciona, mas os caracteres acentuados ficam errados na conversão.

  • Membros Pro
Postado

Pessoal, boa tarde!

Ao realizar a consulta da Chave de Acesso da NFS-e utilizando o exemplo do ACBrNFSeX, identifiquei que, quando a opção “Beta: usar Unicode UTF-8 para suporte a idiomas em todo o mundo” no Windows está marcada, a aplicação consegue concluir a consulta com sucesso, sem apresentar o erro discutido neste tópico:

Observação: Não realizei nenhuma alteração nos fontes do ACBr.

image.thumb.png.3d724680562416217294d557e63b98c5.png

  • Membro Pro Verificado
Postado

Pessoal, acabei de postar lá no discord, mesmo erro comigo. Esse erro se tornou crítico heim, muita gente com o mesmo problema.
 

Código  : X999
Mensagem: Erro de Conexão: Input is not proper UTF-8, indicate encoding !
Bytes: 0xE3 0x6F 0x20 0x64

Já joguei os xmls numa mensagem privada: XML de exemplo para o erro: X999 - Erro de Conexão: Input is not proper UTF-8, indicate encoding

Caso precisem, o xml está lá.

  • Membros Pro
Postado

Ola.

Estou com o erro:

Input is not proper UTF-8, indicate encoding !
Bytes: 0xEA 0x6E 0x65 0x72

Já faz mais de um mês e não consigo enviar a NFS-e também.

Existe informações desencontradas aqui no forum, mas não achei uma solução ainda.

  • Membros Pro
Postado
1 hora atrás, SupraMAIS disse:

Pessoal, boa tarde!

Ao realizar a consulta da Chave de Acesso da NFS-e utilizando o exemplo do ACBrNFSeX, identifiquei que, quando a opção “Beta: usar Unicode UTF-8 para suporte a idiomas em todo o mundo” no Windows está marcada, a aplicação consegue concluir a consulta com sucesso, sem apresentar o erro discutido neste tópico:

Observação: Não realizei nenhuma alteração nos fontes do ACBr.

image.thumb.png.3d724680562416217294d557e63b98c5.png

Fiz o que o amigo disse mas recebo a mensagem de bitmap image is not valid ao emitir

  • Membros Pro
Postado
20 minutos atrás, giovani deitos disse:

Fiz o que o amigo disse mas recebo a mensagem de bitmap image is not valid ao emitir

Não havia realizado o teste de impressão aqui. De fato, ao habilitar essa opção no Windows, o ACBrNFSeX passou a apresentar erro ao imprimir o DANFSe.

Verifiquei que, neste tópico, a orientação para contornar o problema de impressão é desmarcar essa mesma opção. Ou seja, ficamos com um impasse: para resolver um problema, precisamos aplicar uma configuração que acaba causando outro.

 

  • Membro Pro Verificado
Postado

Boa tarde. estou com o mesmo problema.

Requisição
Ambiente : 1 - Produção
Cidade   : Coxim/MS
Provedor : PadraoNacional Versão: 1.01
Data/Hora: 09/02/2026 17:04:07
 
Método Executado: Consultar NFSe Por Chave
 
Parâmetros de Envio
Chave da NFSe: 50033062237556958000173000000000011726028089787949
 
Parâmetros de Retorno
Sucesso       : False
 
Erro(s):
Código  : X999
Mensagem: Erro de Conexão: Input is not proper UTF-8, indicate encoding !
Bytes: 0xE9 0x63 0x6E 0x69
 

  • Membros Pro
Postado

Boa Tarde, 

Vou repassar como solucionei esse problema, utilizo Delphi7.

no "ACBrXmlDocument" descomentei a linha "AXmlDocument := NativeStringToUTF8(AXmlDocument);" apenas na função "LoadFromXml".

desta forma a consulta funcionou tanto no provedor Nacional como no Betha.

- Ai como já mencionado acima acaba gerando problema na codificação do retorno trazendo assim:

"cvc-pattern-valid: O valor '1405' não tem um aspecto válido em relação ao padrão '[0-9]{6}' do tipo 'TCodigoTribNac'"

 

esse problema resolvi no tratamento da mensagem para o usuário no meu código utilizando a função Utf8ToAnsi da unit System:

"'Mensagem: ' + Utf8ToAnsi(aAlertas[_i].Descricao);"

desta forma o retorno para o usuário fica correto

"cvc-pattern-valid: O valor '1405' não tem um aspecto válido em relação ao padrão '[0-9]{6}' do tipo 'TCodigoTribNac'."

Postado

Boa tarde pessoal.

 

Resolvi o problema alterando o método TACBrNFSeProviderPadraoNacional.TratarRetornoConsultaNFSeporChave, da unit PadraoNacional.Provider.pas; precisei adicionar a função ACBrAnsiToUTF8 , da seguinte forma:

        { acrescenta a função DecodeToString visando o tratamento correto de
          vogais acentuadas e cedilha.
        }
        if NFSeXml <> '' then
          NFSeXml := ACBrAnsiToUTF8(DecodeToString(DeCompress(DecodeBase64(NFSeXml)), True));

Deixo em anexo a unit, para que possam analisar se isto afetará outros provedores.

PadraoNacional.Provider.pas

  • Curtir 5
Postado

Consegui resolver aqui no arquivo

Fontes\ACBrDFe\ACBrXmlDocument.pas

 

procedure TACBrXmlDocument.LoadFromXml(AXmlDocument: string);

 

Troquei a linha

loadedDoc := xmlParseDoc(PAnsiChar(ansistring(AXmlDocument)));

por

loadedDoc := xmlParseDoc( PAnsiChar( ACBrAnsiToUTF8( AXmlDocument ) ) );

  • Obrigado 1
  • Membro Pro Verificado
Postado
1 hora atrás, fernando garoso disse:

Consegui resolver aqui no arquivo

Fontes\ACBrDFe\ACBrXmlDocument.pas

 

procedure TACBrXmlDocument.LoadFromXml(AXmlDocument: string);

 

Troquei a linha

loadedDoc := xmlParseDoc(PAnsiChar(ansistring(AXmlDocument)));

por

loadedDoc := xmlParseDoc( PAnsiChar( ACBrAnsiToUTF8( AXmlDocument ) ) );

Também executei o processo conforme o Fernando mencionou, e deu certo, resolveu

 

  • Fundadores
Postado

@Italo Giurizzato Junior e @Diego Foliene,

Preciso de instruções, de como podemos reproduzir esse problema, nos Demos do ACBr...

4 horas atrás, fernando garoso disse:

loadedDoc := xmlParseDoc( PAnsiChar( ACBrAnsiToUTF8( AXmlDocument ) ) );

essa  modificação, pode quebrar o suporte a FPC e Delphi POSIX, que usam UTF8 de forma nativa...

O problema parece estar nas classes de NFSe, pois os documentos de NFe, NFCe, usam esses mesmos fontes, sem problemas com acentos em UTF8

  • Curtir 1
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.

Postado
1 hora atrás, Daniel Simoes disse:

@Italo Giurizzato Junior e @Diego Foliene,

Preciso de instruções, de como podemos reproduzir esse problema, nos Demos do ACBr...

essa  modificação, pode quebrar o suporte a FPC e Delphi POSIX, que usam UTF8 de forma nativa...

O problema parece estar nas classes de NFSe, pois os documentos de NFe, NFCe, usam esses mesmos fontes, sem problemas com acentos em UTF8

Também acredito que seja algo pontual da NFS-e, mais especificamente do provedor nacional.

Em nossos clientes, pelo menos, tivemos problema apenas neste ponto, o que me levou a fazer o ajuste pontual na unit PadraoNacional.Provider.pas.

Postado (editado)

Também estava tendo esse problema na consulta NFSe por Chave do provedor Betha Layout nacional. Consegui resolver modificando a unit ACBrXmlDocument.pas:

image.thumb.png.329b15c4bf0d7ffdd9060202384d2315.png

 

Editado por João Antônio
  • Membros Pro
Postado

outra sugestão que talvez gere menos impacto a compatibilidade seria fazer desta forma:

procedure TACBrXmlDocument.LoadFromXml(AXmlDocument: string);
var
  loadedDoc: xmlDocPtr;
  loadedRoot: xmlNodePtr;
  AXmlDocumentUTF8: string;
begin
  // a linha abaixo foi comentada pois segundo o DSA consome muito a CPU e causa lentidão
//  AXmlDocument := NativeStringToUTF8(AXmlDocument);
  loadedDoc := xmlParseDoc(PAnsiChar(ansistring(AXmlDocument)));
  if (loadedDoc = Nil) then begin
    AXmlDocumentUTF8 := NativeStringToUTF8(AXmlDocument);
    loadedDoc := xmlParseDoc(PAnsiChar(ansistring(AXmlDocumentUTF8)));
  end;

...

 

- Caso não consiga carregar o loadedDoc ele executa a função comentada, que no meu caso utilizando Delphi7, não apresenta lentidão como mencionado no comentário.

- E mantenho a variável original com a codificação original dela, evitando ter que tratar a mensagem na hora de reportar para o usuário.

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.