delphi 2010-通过idhttp.get将unicode字符串发送到Web

时间:2011-05-11 09:54:45

标签: string delphi delphi-2010 send idhttp

我编写以下代码以将Unicode字符串发送到Web服务器

procedure TForm1.Button1Click(Sender: TObject);
var
  f2 : TStringStream;
  str1, str2 : string;
  str3 : WideString;
begin
  f2 := TStringStream.Create('');
  str1 := ('مهر');//Persian character (Unicode);
  str2 := ('آذر');//Persian character (Unicode);
  str3 := str2;
  IdHTTP1.Get('http://mehratin.heroku.com/personals/add_item?fn=' + str1 + '&ln=' + str3, f2);
  Caption := f2.DataString;
end;

数据已保存但显示“?” 。你可以看到数据:http://mehratin.heroku.com/personals

问题是什么?

感谢。

1 个答案:

答案 0 :(得分:0)

您需要将您的unicode字符串正确编码到URL中。

按照设计,URL字符串是ANSI(这就是为什么你没有得到Higurana / Cyrilic等域名)。

我建议您查看有关URL编码UTF8(unicode)字符串的this StackOverflow question and its answer

祝你好运!