delphi 2010 - отправка строки юникода на веб-сайт idhttp.get - PullRequest
0 голосов
/ 11 мая 2011

я пишу следующий код для отправки строки Unicode на веб-сервер

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 голосов
/ 16 мая 2011

Вам необходимо правильно закодировать строки Unicode в URL.

По своей структуре строки URL являются ANSI (поэтому вы не получаете доменные имена Higurana / Cyrilic и т. Д.).

Я предлагаю вам взглянуть на этот вопрос StackOverflow и его ответ о URL-кодировании строк UTF8 (Unicode).

Удачи!

...