UTF8 conversion to GBK format
void Convertutf8togbk (CString &strutf8)
{
int Len=multibytetowidechar (Cp_utf8, 0, (LPCTSTR) StrUtf8,-1, null,0);
wchar_t * WSZGBK = new Wchar_t[len];
memset (Wszgbk,0,len);
MultiByteToWideChar (Cp_utf8, 0, (LPCTSTR) StrUtf8,-1, WSZGBK, Len);
Len = WideCharToMultiByte (CP_ACP, 0, WSZGBK,-1, NULL, 0, NULL, NULL);
Char *szgbk=new Char[len + 1];
memset (SZGBK, 0, Len + 1);
WideCharToMultiByte (CP_ACP, 0, WSZGBK,-1, SZGBK, Len, null,null);
StrUtf8 = SZGBK;
Delete[] SZGBK;
Delete[] WSZGBK;
}
GBK conversion to UTF8 format
void ConvertGBKToUtf8 (CString &strgbk)
{
int Len=multibytetowidechar (CP_ACP, 0, (LPCTSTR) STRGBK,-1, null,0);
wchar_t * WszUtf8 = new wchar_t [Len];
memset (WszUtf8, 0, Len);
MultiByteToWideChar (CP_ACP, 0, (LPCTSTR) STRGBK,-1, WszUtf8, Len);
Len = WideCharToMultiByte (Cp_utf8, 0, WszUtf8,-1, NULL, 0, NULL, NULL);
Char *szutf8=new Char[len + 1];
memset (SzUtf8, 0, Len + 1);
WideCharToMultiByte (Cp_utf8, 0, WszUtf8,-1, SzUtf8, Len, null,null);
STRGBK = SzUtf8;
Delete[] SzUtf8;
Delete[] WszUtf8;
}