Ir para conteúdo
  • Cadastre-se

dev botao

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


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

Recommended Posts

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);

 

Link para o comentário
Compartilhar em outros sites

  • Consultores

Bom dia João,

Por favor anexe a unit alterada para que possamos analisar.

Consultor SAC ACBr

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

Projeto ACBr

Analista de Sistemas / e-mail: [email protected] / Fone: (16) 9-9701-5030 / Araraquara-SP

Araraquara - A era dos Trólebus

Link para o comentário
Compartilhar em outros sites

  • Consultores

Bom dia João,

Muito obrigado pela colaboração, já inclui na minha lista de tarefas. TK-2158 

Consultor SAC ACBr

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

Projeto ACBr

Analista de Sistemas / e-mail: [email protected] / Fone: (16) 9-9701-5030 / Araraquara-SP

Araraquara - A era dos Trólebus

Link para o comentário
Compartilhar em outros sites

  • 4 semanas depois ...
  • Consultores
  • Solution

Boa tarde João,

Fiz mais alguns ajustes para poder compilar no Delphi 7 e enviei para o SVN.

Favor atualizar os fontes e faça novos testes.

Consultor SAC ACBr

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

Projeto ACBr

Analista de Sistemas / e-mail: [email protected] / Fone: (16) 9-9701-5030 / Araraquara-SP

Araraquara - A era dos Trólebus

Link para o comentário
Compartilhar em outros sites

  • 2 semanas depois ...
  • Consultores

Bom dia João,

Muito obrigado pela colaboração, já inclui na minha lista de tarefas. TK-2262

Consultor SAC ACBr

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

Projeto ACBr

Analista de Sistemas / e-mail: [email protected] / Fone: (16) 9-9701-5030 / Araraquara-SP

Araraquara - A era dos Trólebus

Link para o comentário
Compartilhar em outros sites

  • Consultores

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 / e-mail: [email protected] / Fone: (16) 9-9701-5030 / Araraquara-SP

Araraquara - A era dos Trólebus

Link para o comentário
Compartilhar em outros sites

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

Link para o comentário
Compartilhar em outros sites

  • Consultores

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 / e-mail: [email protected] / Fone: (16) 9-9701-5030 / Araraquara-SP

Araraquara - A era dos Trólebus

Link para o comentário
Compartilhar em outros sites

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. 

Link para o comentário
Compartilhar em outros sites

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