//UTF-8 to GB2312 CString WebProcess::Convert(CString str,int sourceCodepage, int targetCodepage){ int len = str.GetLength(); int unicodeLen = MultiByteToWideChar(sourceCodepage,0,str,-1,NULL,0); wchar_t *pUnicode; pUnicode = new wchar_t[unicodeLen+1]; memset(pUnicode,0,(unicodeLen+1)*sizeof(wchar_t)); MultiByteToWideChar(sourceCodepage,0,str,-1,(LPWSTR)pUnicode,unicodeLen); BYTE *pTargetData = NULL ; int targetLen = WideCharToMultiByte(targetCodepage,0,(LPWSTR)pUnicode,-1,(char*)pTargetData,0,NULL,NULL); pTargetData = new BYTE[targetLen+1]; memset(pTargetData,0,targetLen+1); WideCharToMultiByte(targetCodepage,0,(LPWSTR)pUnicode,-1,(char*)pTargetData,targetLen,NULL,NULL); CString rt; rt.Format("%s",pTargetData); delete []pUnicode; delete []pTargetData; return rt ; }