Question : Problem with chinese character

Description:-

I am having a string1 of ATL::CString that conatins the file path that need to be upload.
I have string2 of ATL::CString that conatins the file name out of this path and it is in chinese chracters.
I am storing string2 in another string3 of ATL::Cstring and assigning a format in format like :

string3.Format(_T("Slug: %s"), string2 );

I am passing other information along with this filename like username,password to authenticate the server.
Before passing this information along with other parameters of WinHttpSendRequest(),I am assigning string3 to _bstr_t like:

_bstr_t bstrHeaders(string3);

I am assigning the body of the file in this variable:

CBufMalloc m_requestBody;

Now I am passing this header along with other info like :

WinHttpSendRequest(GetHandle(),
            bstrHeaders, bstrHeaders.length(),
            (void*)m_requestBody, m_requestBody.GetSize(),
            m_requestBody.GetSize(),
            (DWORD_PTR)this);

This is returning error as "Invalid Parameters".

If we change the file name which has chinese characters with english one it is working fine.
I am able to upload this file successfully with english characters.

Please assist me how to resolve this issue.
Is this related with some code page error issue or something else.

Answer : Problem with chinese character

gb2312 is the charset, B means encoded using Base64
Random Solutions  
 
programming4us programming4us