Delphi Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
델파이 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
FreePascal/Lazarus
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
델마당
볼랜드포럼 광고 모집

델파이 Q&A
Delphi Programming Q&A
[14946] Re:Re:Re:IdHTTP.GET()을 사용하여 웹서버의 php소스로 데이터를 넘기는데요 한글이 깨지는것 같습니다.
정영훈 [allinux] 5083 읽음    2014-01-18 16:59
우선 몇가지 정보가 필요할 것 같습니다.
서버쪽(php)에서 리턴하는 html charset 정보가 필요하고
사용하시는 인디 버전을 알아야 합니다.

인디 같은 경우 core 쪽은 그럭저럭 쓸만한데 protocol 구현 유닛들은 소소한 버그들이 있습니다.

TIdHTTP 유닛도 검색을 해보면 인코딩 관련해서 버그들이 있는 것으로 보입니다.
우선 XE(인디 10.5.7) 에서는 GET/POST요청시 캐릭터셋 UTF8, EUC-KR일 경우 잘 변환해서 보여줍니다.

델파이 2009/2010 이시라면 아래의 링크가 도움이 될 것 같습니다.
http://blog.devquest.co.kr/imp/79
https://www.delmadang.com/community/bbs_view.asp?bbsNo=3&bbsCat=0&st=S&keyword=INDY&indx=412780&keyword1=INDY&page=1

우씨 님이 쓰신 글 :
: uses ...,IdURI;
: ....
:
: procedure TForm4.Button1Click(Sender: TObject);
: var
:   murl , mv : string;
:   IdHTTP: TIdHTTP;
:
: begin
:       IdHTTP := TIdHTTP.Create(nil);
:
:       murl :='http://.../proc.php?m=테스트';
:      TIdURI.URLEnCode(murl);
:       mv := IdHTTP.Get(TIdURI.URLEnCode(murl));
:       memo1.Lines.Add(mv);
:        IdHTTP.Free;
:       end;
: end;
:
: 알려주신대로 IdURI를 사용하여 해봤습니다.
: 그런데 메모에 기록되는것은 "  ?Œ?ㅽŠ?  " 입니다.
: IdURI를 사용하지 안을때는 " ??? " 입니다.
:
: 링크에 있는 URLEncodeComponent()를 사용도 해 봤는데 결과는 같습니다.
: 혹시나 해서 php소스에서
: <?  echo "한글";  ?>
: 이렇게 해서 값을 받으면 "한글" 이라는 글자가 제대로 메모에 기록됩니다.
:
: 다시한번 부탁드립니다
:

+ -

관련 글 리스트
14939 IdHTTP.GET()을 사용하여 웹서버의 php소스로 데이터를 넘기는데요 한글이 깨지는것 같습니다. 우씨 2048 2014/01/16
14940     Re:IdHTTP.GET()을 사용하여 웹서버의 php소스로 데이터를 넘기는데요 한글이 깨지는것 같습니다. kylix 2874 2014/01/16
14943         Re:Re:IdHTTP.GET()을 사용하여 웹서버의 php소스로 데이터를 넘기는데요 한글이 깨지는것 같습니다. 우씨 2505 2014/01/17
14946             Re:Re:Re:IdHTTP.GET()을 사용하여 웹서버의 php소스로 데이터를 넘기는데요 한글이 깨지는것 같습니다. 정영훈 5083 2014/01/18
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.