[DELPHI] Caracteres Especiais JSON Get com INDY

18/01/2019

0

Estou utilizando o Indy 10 para fazer a leitura de um JSON e armazenando ele em uma variável String.
No JSON vem com uns caracteres especiais, ao tratar eles para UTF-8 alguns são corrigidos porém tem outros que eu não consigo converter?

Alguém tem alguma ideia de como fazer para tratar?

Segue código
IdHTTP1.Create(nil);
IdHTTP1.Request.CustomHeaders.Add('Authorization: ' + Q_Parceirocctokenparce.AsString).ToString;
IdHTTP1.Request.ContentType := 'application/json';
json:= UTF8ToString(IdHTTP1.Get(Q_Linkscurllinlink.AsString));


No exemplo do Código ele me retorna "Código" e tratado ele fica "Código", porém a cidade AVARÉ me apresenta "AVARÃ?".
Déverson Rando

Déverson Rando

Responder

Posts

18/01/2019

Fabricio Kawata

Olá Déverson! Supondo que o conteúdo do JSON que você está lendo esteja codificado para UTF-8, ao invés de usar o método UTF8ToString, tente usar o UTF8Decode.

Abraço!
Responder

18/01/2019

Déverson Rando

Olá Déverson! Supondo que o conteúdo do JSON que você está lendo esteja codificado para UTF-8, ao invés de usar o método UTF8ToString, tente usar o UTF8Decode.

Abraço!


Boa Tarde Fabricio,

Segue o mesmo problema, Estou utilizando Delphi XE7 e o banco de dados PostgresSQL.
De acordo com o fornecedor da API o charset deles já é UTF8.

Segue trecho do código e resultado.

IdHTTP1.Create(nil);
TIdSSLIOHandlerSocketOpenSSL.Create(nil);
IdHTTP1.HandleRedirects := True;
IdHTTP1.Request.ContentType := 'text/html';
IdHTTP1.Request.CharSet := 'UTF-8';
IdHTTP1.Request.CustomHeaders.Add('Authorization: ' + token).ToString;
IdHTTP1.Request.ContentType := 'application/json';
json:= IdHTTP1.Get(url+url_comp+filtro);
Memo_Json.Text := UTF8Decode(json);


Trecho do JSON

[{"cont_id":879,"cont_tipo":2,"cont_pessoa":1,"cont_nome_fantasia":"Código 440 - NF. FULL"}]
[{"cont_cidade":"AVAR�?","cont_estado":"SP"}]
Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar