자유롭게 질의 및 응답을 할 수 있는 게시판입니다. 개발자 여러분의 답변이 큰 도움이 됩니다.
- 제품설치/등록 오류 문의: 설치/등록 Q&A 이용 (제품 구매 고객 한정)
Delphi TIdHttp 맥에서 한글 문제
2013.05.16 23:43
한글이 깨지는 문제점을 해결한 소스(UTF-8 한글 값을 전송하는 예제)
var s: UTF8String;idHttp := TIdHttp.Create(nil);postData := TIdMultiPartFormDataStream.Create;try s := '한글이 깨질까?'; idHttp.Request.ContentType := postData.RequestContentType; strm := TMemoryStream.Create; strm.Write(s[1], Length(s)); postData.AddObject('hangul', 'text/plain', 'utf-8', strm); idHttp.Post('http://www.youtu.kr/lab/delphi-post/ ', postData);finally FreeAndNil(strm); FreeAndNil(postData); FreeAndNil(idHttp);end;
위예제 처럼 하면 잘 됩니다.. (윈도우 맥 둘다 )
하지만 s란 변수에
s:= Edit1.Text; 란 변수로 받으면 맥 mac os 여전히 깨져 버립니다..참고로 윈도우에선 정말 잘 됩니다..
맥에서는 여전히 깨져서 나옵니다..
firemonkey로 작업하고 있으며 맥에서만 돌리면 한글이 깨져 버립니다..
왜 그럴까요?? 전 xe3 사용자 입니다.
Delphi TIdHttp 맥에서 한글 문제
2013.05.16 23:43
한글이 깨지는 문제점을 해결한 소스(UTF-8 한글 값을 전송하는 예제)
var
s: UTF8String;
idHttp := TIdHttp.Create(nil);
postData := TIdMultiPartFormDataStream.Create;
try
s := '한글이 깨질까?';
idHttp.Request.ContentType := postData.RequestContentType;
strm := TMemoryStream.Create;
strm.Write(s[1], Length(s));
postData.AddObject('hangul', 'text/plain', 'utf-8', strm);
idHttp.Post('http://www.youtu.kr/lab/delphi-post/ ', postData);
finally
FreeAndNil(strm);
FreeAndNil(postData);
FreeAndNil(idHttp);
end;
위예제 처럼 하면 잘 됩니다.. (윈도우 맥 둘다 )
하지만 s란 변수에
s:= Edit1.Text; 란 변수로 받으면 맥 mac os 여전히 깨져 버립니다..
참고로 윈도우에선 정말 잘 됩니다..
맥에서는 여전히 깨져서 나옵니다..
firemonkey로 작업하고 있으며 맥에서만 돌리면 한글이 깨져 버립니다..
왜 그럴까요?? 전 xe3 사용자 입니다.
제가 알고 있기는 파이어몽키 TidHttp에서는 스트링이 깨지고 String Stream을 사용하셔야 된다고 합니다.
에디터에서 입력한 문자를 스트림에 넣어서 테스트 해 보십시오