0

次のコードを記述して、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

何が問題ですか?

ありがとう。

4

1 に答える 1

0

Unicode 文字列を URL に適切にエンコードする必要があります。

設計上、URL 文字列は ANSI です (これが Higurana/Cyrilic などのドメイン名を取得しない理由です)。

この StackOverflow の質問と、 UTF8 (unicode) 文字列の URL エンコードに関するその回答をご覧になることをお勧めします。

頑張ってください!

于 2011-05-15T21:42:13.077 に答える