자유롭게 질의 및 응답을 할 수 있는 게시판입니다. 개발자 여러분의 답변이 큰 도움이 됩니다. 
- 제품설치/등록 오류 문의: 설치/등록 Q&A 이용 (제품 구매 고객 한정)
 
		
	
	
		
			Firemonkey			Firemonkey 사용에 대해서 한글 처리는 왜 이렇게 문제가 많을까요?
		
		
			2012.06.15 03:06		
		
	
	
	
		
	
	
				안녕하세요
Firemonkey로 개발하다보니 혹시나 하는 마음에 글을 적어 봅니다.
우선 TCPClient를 이용해서 
웹과 간단한 xml 파일을 주고 받습니다.
예를 들면
String xmlText = (String)L"<?xml version=\"1.0\" encoding=\"utf-8\"?>\
<request><item>안녕하세요. Hello World!</item></request>";
이런 문장을 만들어서 통신을 합니다.
우선 xmlText 스트링을 통신하기 위해서 utf-8로 변환하고
UTF8String ReciveData = AnsiToUtf8(xmlText);
 
TCPClient->Socket->Write(ReciveData, TEncoding::UTF8);
이렇게 쓰도록 되어 있습니다.
 
그런데 웹에서 받는 데이터는 
한글 5글자(안녕하세요) 수만큼 짤린 
<?xml version=\"1.0\" encoding=\"utf-8\"?>
<request><item>안녕하세요. Hello World!</item></req
 
이만큼만 받아오더군요
"uest>" 이만큼은 어디론가 사라져버림....
 
아마도 UnicodeString을 AnsiString으로 처리하는게 안되는건지???
 
지금은 임시방편으로 
 int UniLength  = (UnicodeString(xmlText)).Length();
 int AnsiLength = (AnsiString(xmlText)).Length();
 for(int i = 0 ; i < AnsiLength - UniLength ; i++)
 {
  xmlText = xmlText + L"  ";
 }
이런식으로 뒤에 공백을 넣어서 보내고 있는데 
 
이건 버그인가요?? 아님 원래 그런거 아니면 저만 그런건지 궁금합니다.
 
윈도우에선 아무런 문제없이 잘되던데..맥으로가면 맥을 못추니.
 
=================================================
안녕하세요
Firemonkey로 개발하다보니 혹시나 하는 마음에 글을 적어 봅니다.
우선 TCPClient를 이용해서 
웹과 간단한 xml 파일을 주고 받습니다.
예를 들면
String xmlText = (String)L"<?xml version=\"1.0\" encoding=\"utf-8\"?>\
<request><item>안녕하세요. Hello World!</item></request>";
이런 문장을 만들어서 통신을 합니다.
우선 xmlText 스트링을 통신하기 위해서 utf-8로 변환하고
UTF8String ReciveData = AnsiToUtf8(xmlText);
 
TCPClient->Socket->Write(ReciveData, TEncoding::UTF8);
이렇게 쓰도록 되어 있습니다.
 
그런데 웹에서 받는 데이터는 
한글 5글자(안녕하세요) 수만큼 짤린 
<?xml version=\"1.0\" encoding=\"utf-8\"?>
<request><item>안녕하세요. Hello World!</item></req
 
이만큼만 받아오더군요
"uest>" 이만큼은 어디론가 사라져버림....
 
아마도 UnicodeString을 AnsiString으로 처리하는게 안되는건지???
 
지금은 임시방편으로 
 int UniLength  = (UnicodeString(xmlText)).Length();
 int AnsiLength = (AnsiString(xmlText)).Length();
 for(int i = 0 ; i < AnsiLength - UniLength ; i++)
 {
  xmlText = xmlText + L"  ";
 }
이런식으로 뒤에 공백을 넣어서 보내고 있는데 
 
이건 버그인가요?? 아님 원래 그런거 아니면 저만 그런건지 궁금합니다.
 
윈도우에선 아무런 문제없이 잘되던데..맥으로가면 맥을 못추니.
 
=============================================
 
ps. XE2 update 5 일정은 언제쯤 되는지 알수 있나요?
개발해야 하는 프로그램에 한글 끝자리 짤리는 버그때문에 계속 불만사항이 들어오는데 
일정이 궁금하네요
			
	
	
	
	
	
		댓글 0
	
	    	
	
	
Firemonkey Firemonkey 사용에 대해서 한글 처리는 왜 이렇게 문제가 많을까요?
2012.06.15 03:06
안녕하세요
Firemonkey로 개발하다보니 혹시나 하는 마음에 글을 적어 봅니다.
우선 TCPClient를 이용해서
웹과 간단한 xml 파일을 주고 받습니다.
예를 들면
String xmlText = (String)L"<?xml version=\"1.0\" encoding=\"utf-8\"?>\
<request><item>안녕하세요. Hello World!</item></request>";
이런 문장을 만들어서 통신을 합니다.
우선 xmlText 스트링을 통신하기 위해서 utf-8로 변환하고
UTF8String ReciveData = AnsiToUtf8(xmlText);
TCPClient->Socket->Write(ReciveData, TEncoding::UTF8);
이렇게 쓰도록 되어 있습니다.
그런데 웹에서 받는 데이터는 
한글 5글자(안녕하세요) 수만큼 짤린 
<?xml version=\"1.0\" encoding=\"utf-8\"?>
<request><item>안녕하세요. Hello World!</item></req
이만큼만 받아오더군요
"uest>" 이만큼은 어디론가 사라져버림....
아마도 UnicodeString을 AnsiString으로 처리하는게 안되는건지???
지금은 임시방편으로
 int UniLength  = (UnicodeString(xmlText)).Length();
 int AnsiLength = (AnsiString(xmlText)).Length();
 for(int i = 0 ; i < AnsiLength - UniLength ; i++)
 {
  xmlText = xmlText + L"  ";
 }
이런식으로 뒤에 공백을 넣어서 보내고 있는데
이건 버그인가요?? 아님 원래 그런거 아니면 저만 그런건지 궁금합니다.
윈도우에선 아무런 문제없이 잘되던데..맥으로가면 맥을 못추니.
=================================================
안녕하세요
Firemonkey로 개발하다보니 혹시나 하는 마음에 글을 적어 봅니다.
우선 TCPClient를 이용해서
웹과 간단한 xml 파일을 주고 받습니다.
예를 들면
String xmlText = (String)L"<?xml version=\"1.0\" encoding=\"utf-8\"?>\
<request><item>안녕하세요. Hello World!</item></request>";
이런 문장을 만들어서 통신을 합니다.
우선 xmlText 스트링을 통신하기 위해서 utf-8로 변환하고
UTF8String ReciveData = AnsiToUtf8(xmlText);
TCPClient->Socket->Write(ReciveData, TEncoding::UTF8);
이렇게 쓰도록 되어 있습니다.
그런데 웹에서 받는 데이터는 
한글 5글자(안녕하세요) 수만큼 짤린 
<?xml version=\"1.0\" encoding=\"utf-8\"?>
<request><item>안녕하세요. Hello World!</item></req
이만큼만 받아오더군요
"uest>" 이만큼은 어디론가 사라져버림....
아마도 UnicodeString을 AnsiString으로 처리하는게 안되는건지???
지금은 임시방편으로
 int UniLength  = (UnicodeString(xmlText)).Length();
 int AnsiLength = (AnsiString(xmlText)).Length();
 for(int i = 0 ; i < AnsiLength - UniLength ; i++)
 {
  xmlText = xmlText + L"  ";
 }
이런식으로 뒤에 공백을 넣어서 보내고 있는데
이건 버그인가요?? 아님 원래 그런거 아니면 저만 그런건지 궁금합니다.
윈도우에선 아무런 문제없이 잘되던데..맥으로가면 맥을 못추니.
=============================================
ps. XE2 update 5 일정은 언제쯤 되는지 알수 있나요?
개발해야 하는 프로그램에 한글 끝자리 짤리는 버그때문에 계속 불만사항이 들어오는데
일정이 궁금하네요
                                            