오래된 질문이지만 저 처럼 저 버젼 쓰시는 분들을 위해 올립니다.
Builder 6를 사용하기 때문에 다른 방법을 사용하는것 보다
API를 사용하는 편이 좋은것 같아서 제가 사용하는 함수를
올립니다.
AnsiString __fastcall Utf8ToAscii(UTF8String AUtf8)
{
int nLen;
WideString sUtf16;
AnsiString sAscii = "";
nLen = ::MultiByteToWideChar(CP_UTF8, 0, AUtf8.c_str(), AUtf8.Length(), NULL, 0);
sUtf16.SetLength(nLen);
::MultiByteToWideChar(CP_UTF8, 0, AUtf8.c_str(), AUtf8.Length(), sUtf16.c_bstr(), nLen);
nLen = ::WideCharToMultiByte(CP_ACP, 0, sUtf16.c_bstr(), sUtf16.Length(), NULL, 0, NULL, NULL);
sAscii.SetLength(nLen);
::WideCharToMultiByte(CP_ACP, 0, sUtf16.c_bstr(), sUtf16.Length(), sAscii.c_str(), nLen, NULL, NULL);
return sAscii;
}
이렇게 쓰시면 될겁니다.
김태우 님이 쓰신 글 :
: 다음과 같이 멀티 타입으로 해서 전송 하고있습니다..
:
: 하지만 euc-kr 이든 utf-8 의 형식의 서버이든 다 한글이 ?? 로 출력되고 있습니다.
:
: 미치겠습니다....
:
: 빨리 프로그램 만들어서 납품 해야되는데..ㅜㅜ
:
:
: TIdMultiPartFormDataStream* request;
: TStringStream* response;
: request = new TIdMultiPartFormDataStream;
: response = new TStringStream;
: request->AddFormField("userID",UserID);
: IdHTTP1->ReadTimeout = 20000; // 1000 1초?
: IdHTTP1->Post(ReceiverUrl, request, response);
: response->Position = 0;
:
:
: 테스트 페이지
http://connector.80port.net/Upload.html 이구요
:
: $departStation = $_POST[departStation];
: $makingCompany = $_POST[makingCompany];
: $makingAddr = $_POST[makingAddr];
: $makingName = $_POST[makingName];
: echo("$departStation $makingCompany $makingAddr $makingName");
:
: 이게 전부 입니다. 코딩이...
:
: 테스트 하기 위해서욤... 확이좀 해주세요!~