Ir para conteúdo
  • Cadastre-se

dev botao

Codificação de caracteres inválida no retorno do webservice da prefeitura


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

Recommended Posts

Postado

Ao emitir uma nfse em webservices que retornam dados como utf8 (Content-type: text/xml; charset=utf-8) não está fazendo a conversão correta dos caracteres.

Estou usando Delphi Sydney compilando para Windows64.

Modifiquei o método  TACBrNFSeXWebservice.Executar() da unit  ACBrNFSeXWebserviceBase conforme a imagem abaixo e resolveu esse problema de codificação. 

image.thumb.png.6566006811d284f92e12be6e90f0b6d1.png

 

            HttpClient.Execute;

            HttpClient.DataResp.Position := 0;
            if ContainsText(HttpClient.HeaderResp.GetHeaderValue('Content-Type'), 'utf-8') then
              FPRetorno := UTF8ToNativeString(ReadStrFromStream(HttpClient.DataResp, HttpClient.DataResp.Size))
            else
              FPRetorno := ReadStrFromStream(HttpClient.DataResp, HttpClient.DataResp.Size);

 

  • 4 semanas depois ...
  • 2 semanas depois ...
  • Consultores
Postado

Boa tarde João,

Notei que os seus fontes estão desatualizados.

Faça uma cópia da unit que você alterou e atualize todos os fontes de todas as pastas, reinstale o ACBr e depois aplique se necessário a alteração que você fez.

Detalhe, essa unit que esta no SVN já contempla a verificação que você esta propondo.

Foi feita uma alteração para que compila-se no Delphi 7.

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
37 minutos atrás, Italo Giurizzato Junior disse:

Boa tarde João,

Notei que os seus fontes estão desatualizados.

Faça uma cópia da unit que você alterou e atualize todos os fontes de todas as pastas, reinstale o ACBr e depois aplique se necessário a alteração que você fez.

Detalhe, essa unit que esta no SVN já contempla a verificação que você esta propondo.

Foi feita uma alteração para que compila-se no Delphi 7.

Essa última alteração que fiz foi em cima da última modificação que você fez. 

image.thumb.png.674a08fe5c7114f22dbed151d64d0835.png

  • Consultores
Postado

João,

Não me recordo qual é o provedor que ele retorna "text/xml" e "utf-8" e se executar a função UTF8ToNativeString não funciona.

Acredito que vamos ter que buscar uma solução melhor, pois você deixa funcionando para alguns provedores e para outros a coisa não funciona.

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
8 minutos atrás, Italo Giurizzato Junior disse:

João,

Não me recordo qual é o provedor que ele retorna "text/xml" e "utf-8" e se executar a função UTF8ToNativeString não funciona.

Acredito que vamos ter que buscar uma solução melhor, pois você deixa funcionando para alguns provedores e para outros a coisa não funciona.

Para o provedor Pronim versão 2 o retorno do content-type é text/xml;charset=utf-8. Os caracteres só são exibidos de forma correta quando uso UTF8ToNativeString

Acredito que outros provedores com esse mesmo retorno deveriam funcionar também. 

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

The popup will be closed in 10 segundos...