자유롭게 질의 및 응답을 할 수 있는 게시판입니다. 개발자 여러분의 답변이 큰 도움이 됩니다.
- 제품설치/등록 오류 문의: 설치/등록 Q&A 이용 (제품 구매 고객 한정)
Delphi IdFTP 에서 한글깨짐 문제 해결 방법 없나요 ?
2015.05.12 16:11
XE7(XE6)로 Migration 작업중인데 Indy10 (Xe6, XE7) 에서 idFTP 문제 입니다.
FTP 기능 때문에 idFTP를 사용 했는데
FTP Server 의 해당 폴더에 있는 File List 를 여기서 필요한 것을 Down 받는 일이 있습니다.
그래서 idFTP.List 를 사용 file name을 가져왔는데 한글이 깨져서 들어 오네요
방법 없나요 ? (소스코드는 아래와 같습니다. 이건 Migration program Source가아닙니다.
XE6에서 작성 한 겁니다. 기존 것은 nmFTP기 때문에 아예 바뀐 겁니다)
DataList.Items.Clear;
idFTP1.List(DataList.Items, '', false);
For c := 0 to DataList.Items.Count -1 Do begin
file_name := DataList.Items[c];
file_size := idFTP1.size(file_name);
......
wk_header := file_name + ' ' + IntToStr(file_size) + ....
memo1.lines.Add(wk_header);
end;
했는데 DataList.Items = file_name 이 한글이 깨져서 들어 오네요
방법 없나요 ? (※ DataList 는 TListBox 입니다)
여기 올려져 있는 이문제 해결 방법 참조해서 써보았지만 안되네요..
Unicode나 뭐 그런 문제인 것도 같은데 그렇다면 Indy10의 (idFTP1.List 에서) 이걸 고려해서 가져오기를 할테데 ??
가져오기는 제대로 했는데 받은 곳이 문제 ?? 이건 XE6의 component TLISBOX로 했으니 이것도 문제 없을텐데...
하옇튼 indy 문제라면 그건 어떻게 고치면 되는지...
XE7 2014년 12월 구입해서 설치 했으니 (INDY Component는 함께 자동 설치됨) Indy Component Version 이 구 version
일리 없고 ... indy의 idftp 가 처음 나온 것도 아니고.... UNICODE에 대응 못한 구 Version Component도 아니고 ...
XE6에서 XE6에 있는 Component IDFTP로 작성 했는데 Unicode 문제가 있다 ???? 모르겠네요 뭐가 문제인지
뭐가 잘못되어 있는지 ...
< Migration 하며 이런 생각이 드네요. 10여년이상 차이가 나는데 개선 했다는데 개선된 것은 없고 오히려 개악한 것이
많다는 생각이 드네요. (FireMonkey 의 Mobile 관련 부분은 이미 PHP 등을로 다른 것들이 개발되어서 그쪽은 그
대로의 일관성 때문에 그 Tool 들을 사용해야 하니 DELPHI 쪽은 오히려 후퇴 했다는 생각이 드네요.
DELPHI4.0의 NMFTP에서도 발생안된 이런 한글깨짐문제가 아직도 ....>
댓글 3
-
Humphery
2015.05.13 01:40
-
관리자2
2015.05.13 02:07
본 게시물은 설치/등록/버그 관련 Q&A가 아닌 개발 관련 질문 내용으로써 개발자 Q&A로 이동합니다.
-
jcitec
2015.05.14 06:44
참조자료에서 다른 것은 다 적용 안되는데 임시 변통으로 해결한 내용
( 참조:http://couping.blogspot.com/2011/02/2009-indy-ftp-http-or.html) 가 아래와 같이 일부 적용 되기는 합니다만 ....
1. IdFTP.List 에서 가지고온 것중 File Name 은 한글이 정상으로 나오나 Folder Name은 여전히 깨져 보압니다
( IdFtp.List 가 어떤 식으로 자료를 읽어 오는 건지 의문이 갑니다. File name 이건 directory 이름이건
같은 방법으로 읽어 오는게 아니라는 건지 ???)
2. 참조한 site에서 처럼 깨지는 한글을 코드를 보완하여 정상으로 보이게 한경우 (file 이름에서만 이지만)
이 경우도 한글이 정상으로된 것을 가지고 다시 해당 File을 읽으면 못 찾습니다(같은 이름의 File이 없다로
나옵니다.) 그냥 깨진 한글을 가지고 읽으면 읽어 옵니다.
상기 1,2 와 같은 현상이 나타나니 idftp.List 로 가져온 자료가 더욱 더 의아 스러워 지고 해결 방안이 오리무중으로
빠지네요. 폴더 Name 도 file name 과 같이 한글복구가 되면 2번 해당 File을 식별하여 handling 하는 것은 그냥 한글
깨진 것을 가지고 찾아 읽는 방법으로 해서 어떻게 해 볼 수 있는데....
※ 1번 현상은 잘 이해가 되지 않는 현상이네요. - 실제 폴더 또는 File Info 자료에 보면 file type (폴더,자료file)을
나타내는 자료는 따로 있고 name 난은 똑 같은데 이걸 idFtp.List 에서는 종류에 따라 달리 가져온다 ? 이렇게
바보같은 짓은 안 할텐데... (UNICODE 든지 AnSI code 든지 file 이든 폴더명이든 한가지 방법으로 할텐데
이를 따로 또 억지로 꽈배기 만들어서 가져오지 않을 건데요..............
(DELPHI 4.0 의 NLIST에서도 LIST에서도 잘 표시 해 주는 자료 인데 - 동일한 FTP Server, 동일한 Client에서)
Delphi IdFTP 에서 한글깨짐 문제 해결 방법 없나요 ?
2015.05.12 16:11
XE7(XE6)로 Migration 작업중인데 Indy10 (Xe6, XE7) 에서 idFTP 문제 입니다.
FTP 기능 때문에 idFTP를 사용 했는데
FTP Server 의 해당 폴더에 있는 File List 를 여기서 필요한 것을 Down 받는 일이 있습니다.
그래서 idFTP.List 를 사용 file name을 가져왔는데 한글이 깨져서 들어 오네요
방법 없나요 ? (소스코드는 아래와 같습니다. 이건 Migration program Source가아닙니다.
XE6에서 작성 한 겁니다. 기존 것은 nmFTP기 때문에 아예 바뀐 겁니다)
DataList.Items.Clear;
idFTP1.List(DataList.Items, '', false);
For c := 0 to DataList.Items.Count -1 Do begin
file_name := DataList.Items[c];
file_size := idFTP1.size(file_name);
......
wk_header := file_name + ' ' + IntToStr(file_size) + ....
memo1.lines.Add(wk_header);
end;
했는데 DataList.Items = file_name 이 한글이 깨져서 들어 오네요
방법 없나요 ? (※ DataList 는 TListBox 입니다)
여기 올려져 있는 이문제 해결 방법 참조해서 써보았지만 안되네요..
Unicode나 뭐 그런 문제인 것도 같은데 그렇다면 Indy10의 (idFTP1.List 에서) 이걸 고려해서 가져오기를 할테데 ??
가져오기는 제대로 했는데 받은 곳이 문제 ?? 이건 XE6의 component TLISBOX로 했으니 이것도 문제 없을텐데...
하옇튼 indy 문제라면 그건 어떻게 고치면 되는지...
XE7 2014년 12월 구입해서 설치 했으니 (INDY Component는 함께 자동 설치됨) Indy Component Version 이 구 version
일리 없고 ... indy의 idftp 가 처음 나온 것도 아니고.... UNICODE에 대응 못한 구 Version Component도 아니고 ...
XE6에서 XE6에 있는 Component IDFTP로 작성 했는데 Unicode 문제가 있다 ???? 모르겠네요 뭐가 문제인지
뭐가 잘못되어 있는지 ...
< Migration 하며 이런 생각이 드네요. 10여년이상 차이가 나는데 개선 했다는데 개선된 것은 없고 오히려 개악한 것이
많다는 생각이 드네요. (FireMonkey 의 Mobile 관련 부분은 이미 PHP 등을로 다른 것들이 개발되어서 그쪽은 그
대로의 일관성 때문에 그 Tool 들을 사용해야 하니 DELPHI 쪽은 오히려 후퇴 했다는 생각이 드네요.
DELPHI4.0의 NMFTP에서도 발생안된 이런 한글깨짐문제가 아직도 ....>
댓글 3
-
Humphery
2015.05.13 01:40
-
관리자2
2015.05.13 02:07
본 게시물은 설치/등록/버그 관련 Q&A가 아닌 개발 관련 질문 내용으로써 개발자 Q&A로 이동합니다.
-
jcitec
2015.05.14 06:44
참조자료에서 다른 것은 다 적용 안되는데 임시 변통으로 해결한 내용
( 참조:http://couping.blogspot.com/2011/02/2009-indy-ftp-http-or.html) 가 아래와 같이 일부 적용 되기는 합니다만 ....
1. IdFTP.List 에서 가지고온 것중 File Name 은 한글이 정상으로 나오나 Folder Name은 여전히 깨져 보압니다
( IdFtp.List 가 어떤 식으로 자료를 읽어 오는 건지 의문이 갑니다. File name 이건 directory 이름이건
같은 방법으로 읽어 오는게 아니라는 건지 ???)
2. 참조한 site에서 처럼 깨지는 한글을 코드를 보완하여 정상으로 보이게 한경우 (file 이름에서만 이지만)
이 경우도 한글이 정상으로된 것을 가지고 다시 해당 File을 읽으면 못 찾습니다(같은 이름의 File이 없다로
나옵니다.) 그냥 깨진 한글을 가지고 읽으면 읽어 옵니다.
상기 1,2 와 같은 현상이 나타나니 idftp.List 로 가져온 자료가 더욱 더 의아 스러워 지고 해결 방안이 오리무중으로
빠지네요. 폴더 Name 도 file name 과 같이 한글복구가 되면 2번 해당 File을 식별하여 handling 하는 것은 그냥 한글
깨진 것을 가지고 찾아 읽는 방법으로 해서 어떻게 해 볼 수 있는데....
※ 1번 현상은 잘 이해가 되지 않는 현상이네요. - 실제 폴더 또는 File Info 자료에 보면 file type (폴더,자료file)을
나타내는 자료는 따로 있고 name 난은 똑 같은데 이걸 idFtp.List 에서는 종류에 따라 달리 가져온다 ? 이렇게
바보같은 짓은 안 할텐데... (UNICODE 든지 AnSI code 든지 file 이든 폴더명이든 한가지 방법으로 할텐데
이를 따로 또 억지로 꽈배기 만들어서 가져오지 않을 건데요..............
(DELPHI 4.0 의 NLIST에서도 LIST에서도 잘 표시 해 주는 자료 인데 - 동일한 FTP Server, 동일한 Client에서)
다음 글을 참고해보시기 바랍니다.
http://tech.devgear.co.kr/delphi_qna/3950