求教:在VC中,怎么将UTF编码的CString转换为正确的Unicode编码的CString
如题在VC6.0中,怎么将UTF编码的CString转换为正确的Unicode编码的CString?
VC6.0中定义了UNICODE,_UNICODE,即VC6.0内码设置为UNICODE,不是默认的ASNI
mysql数据库中是以UTF8编码存放数据,数据内容是繁体字
使用CDatabase类连接数据库,使用CRecordSet来读取数据表内容
CRecordset rs(& db);
……
rs.GetFieldValue(_T("CONTENT"), varCONTENT);
现住需要将unicode编码存放的utf8编码的varContent转换为正确的unicode编码的对应字符串
使用以下代码进行转换后,有部分繁体字的转换出现错误
USES_CONVERSION;
char * utf8=W2A(varCONTENT)
int iLen=0;
iLen=MultiByteToWideChar(CP_UTF8,0,utf8,-1,NULL,0);
wchar_t * ps=new wchar_t[iLen+1];
MultiByteToWideChar(CP_UTF8,0,utf8,-1,ps,iLen);
varCONTENT=ps;
不知道问题出在那里
烦请高手指点
不胜感激