2011-05-11 3 views
0
내가 데이터가 저장되어

델파이 2010- idhttp.get

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

무엇이 문제입니까?

감사합니다.

답변

0

URL에 유니 코드 문자열을 올바르게 인코딩해야합니다.

URL 문자열은 ANSI이므로 (히구라나/시릴 리어 등 도메인 이름을 얻지 못하는 이유입니다).

URL 인코딩 UTF8 (유니 코드) 문자열에 대해 this StackOverflow question and its answer을 살펴 보시기 바랍니다.

행운을 빈다.