Delphi 7 - Charset REST JSON

时间:2017-03-05 11:21:15

标签: json rest delphi character-encoding indy

使用Delphi 7和Indy 9.00.10我正在使用带有JSON的REST API。 我使用TidHTTP组件创建一个GET请求。

IdHTTP1.HandleRedirects := True;
IdHTTP1.ReadTimeout     := 5000;
IdHTTP1.Request.Accept  := 'application/json';
IdHTTP1.Request.AcceptCharSet  := 'UTF-8';
IdHTTP1.Request.AcceptLanguage := 'sv';
IdHTTP1.Request.ContentType    := 'application/json';
Memo1.Text := IdHTTP1.Get('http://api.arbetsformedlingen.se/af/v0/platsannonser/7088149');

我尝试了几个字符集,但无法在响应中更正å,ä,ö等瑞典字符。

  • 成为Ã¥
  • ä成为Ã
  • ö成为ö

我在这里做错了什么?

1 个答案:

答案 0 :(得分:7)

在Delphi 7 System单元中,有一个UTF8ToAnsi()函数。使用方式如下:

  Memo1.Text := UTF8ToAnsi(IdHTTP1.Get('http://api.arbetsformedlingen.se/af/v0/platsannonser/7088149'));

Delphi 7中的结果是正确的。