[DELPHI] Caracteres Especiais JSON Get com INDY
18/01/2019
0
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
Posts
18/01/2019
Fabricio Kawata
Abraço!
18/01/2019
Déverson Rando
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"}]
30/07/2024
Douglas Morette
31/07/2024
Arthur Heinrich
Código
AVARÉ
Ao exibir o conteúdo do arquivo na janela CMD, obtenho:
C:\\App>type teste.txt
C├│digo
AVARÉ
Ao alterar a Code Page para 1252 obtenho o mesmo resultado que você:
C:\\App>chcp 1252
Active code page: 1252
C:\\App>type teste.txt
Código
AVARÉ
Já utilizando a Code Page 65001, que interpreta UTF-8, fica tudo correto:
C:\\App>chcp 65001
Active code page: 65001
C:\\App>type teste.txt
Código
AVARÉ
Clique aqui para fazer login e interagir na Comunidade :)