|
=_=
코드에 문제는 없어 보이는데요;
UTF8Decode 함수 리턴값이 WideString 이네요.
WideString으로 받은 다음에 해보세요~
WideString AnsiTmp;
그리고 파일이 UTF8 파일이 맞는지 다시 한번 확인해보세요.
탱구리파 님이 쓰신 글 :
: 프로그램 개발환경은 한글 windows-XP / 볼랜드6 버전 입니다.
: 프로그램 실행환경은 영문 Windows 2008 서버 64Bit 버전 입니다.,
:
: 다른거는 괜찮은것 같은데.. 한글 파일이 문제가 되네요...
: 프로그램 실행에 필요한 파일이 잇는데 내부적을 비교를 하려고
: 다음과 같이 했습니다.
:
: FILE *fp;
: char rData[2000];
: AnsiString AnsiTmp, Utf8Tmp;
:
: fp = fopen(fName.c_str(), "r+t");
:
: // 중략
:
: m_LangDatas->Clear(); <--TStringList()
: while(!feof(fp))
: {
: memset(rData, 0, sizeof(rData));
: fgets(rData, sizeof(rData)-1, fp);
: AnsiTmp = "";
: AnsiTmp = UTF8Decode(rData); <-- UTF8을 Ansi로 변환
:
: m_LangDatas->Add(AnsiTmp.SubString(1, AnsiTmp.Length() - 1));
: }
:
: fclose(fp);
:
: 이후 m_LangDatas 여기에 있는 문자를 확인해보니 한글은 모두 깨져서 들어가네요..
: 왜 그럴까요?
|