자유롭게 질의 및 응답을 할 수 있는 게시판입니다. 개발자 여러분의 답변이 큰 도움이 됩니다.
- 제품설치/등록 오류 문의: 설치/등록 Q&A 이용 (제품 구매 고객 한정)
Delphi Rest 파라미터 한글 문제...?
2017.10.11 11:25
델파이XE8에서 REST컴포넌트로 네트워크상에 디비를 조회를 하게 햇습니다
그런데 한글로 된 데이타를 파라메타로 던지면 에러가납니다
아예 post가 안갑니다
한글이 아닌 파라메타는 잘갑니다
jObj := TJSONObject.create;
jObj.AddPair(TJSONPair.Create(1,TJSONString.Create('Samsung'))); --아주 잘 됩니다
위처럼 하면 아무문제없이 웹페이지에서 잘받아집니다
jObj.AddPair(TJSONPair.Create(1,TJSONString.Create('삼성'))); --웹페이지로 넘어가지도 않습니다
그런데 한글이 들어가면 웹페이지로 안넘어갑니다
RESTResponse := TRESTResponse.Create(nil);
RESTRequest := TRESTRequest.Create(nil);
RESTClient := TRESTClient.Create(Application);
RESTResponse.ContentType := 'application/json; charset=utf-8'; // 추가
RESTResponse.ContentEncoding := 'utf-8'; //추가
RESTRequest.Accept := 'application/json, text/plain; q=0.9, text/html;q=0.8,';
RESTRequest.AcceptCharset := 'UTF-8, *;q=0.8';
RESTClient.BaseURL := 'http://XXXX.XX/test.php';
RESTRequest.Client := RESTClient;
RESTRequest.Response := RESTResponse;
RESTRequest.AddParameter('data', EncryptData(UTF8Encode(AnsiString(jObj.toString))));
RESTRequest.Execute;
어떻게 하면 될까요?
댓글 0
Delphi Rest 파라미터 한글 문제...?
2017.10.11 11:25
델파이XE8에서 REST컴포넌트로 네트워크상에 디비를 조회를 하게 햇습니다
그런데 한글로 된 데이타를 파라메타로 던지면 에러가납니다
아예 post가 안갑니다
한글이 아닌 파라메타는 잘갑니다
jObj := TJSONObject.create;
jObj.AddPair(TJSONPair.Create(1,TJSONString.Create('Samsung'))); --아주 잘 됩니다
위처럼 하면 아무문제없이 웹페이지에서 잘받아집니다
jObj.AddPair(TJSONPair.Create(1,TJSONString.Create('삼성'))); --웹페이지로 넘어가지도 않습니다
그런데 한글이 들어가면 웹페이지로 안넘어갑니다
RESTResponse := TRESTResponse.Create(nil);
RESTRequest := TRESTRequest.Create(nil);
RESTClient := TRESTClient.Create(Application);
RESTResponse.ContentType := 'application/json; charset=utf-8'; // 추가
RESTResponse.ContentEncoding := 'utf-8'; //추가
RESTRequest.Accept := 'application/json, text/plain; q=0.9, text/html;q=0.8,';
RESTRequest.AcceptCharset := 'UTF-8, *;q=0.8';
RESTClient.BaseURL := 'http://XXXX.XX/test.php';
RESTRequest.Client := RESTClient;
RESTRequest.Response := RESTResponse;
RESTRequest.AddParameter('data', EncryptData(UTF8Encode(AnsiString(jObj.toString))));
RESTRequest.Execute;
어떻게 하면 될까요?