[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
No exemplo do Código ele me retorna "Código" e tratado ele fica "Código", porém a cidade AVARÉ me apresenta "AVARÃ?".
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
Curtir tópico
+ 0
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!
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!
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
Clique aqui para fazer login e interagir na Comunidade :)