编程中国 | 业界新闻 | 技术文章 | 视频教程 | 下载频道 | 程序源码 | 个人空间 | 编程论坛  
全能 ASP / PHP / ASP.NET 主机,支持月付专业 MSSQL 数据库空间,支持月付专业 MySQL 数据库空间,支持月付学习型 ASP/PHP/ASP.NET 主机 30元/年
发新话题
打印

求教:在VC中,怎么将UTF编码的CString转换为正确的Unicode编码的CString

求教:在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;

不知道问题出在那里
烦请高手指点
不胜感激

TOP

发新话题