XiaoHui.net 笑汇程序员论坛首页
工作并快乐着,职业并休闲着
寻梦的岁月从不言辛苦几许,
不问收获几多……
» 游客:  申请新用户 | 登录 | 会员 | 统计 | 帮助 » XiaoHui.Net 笑汇程序员论坛 | 纯文字版 | 全站索引 | XiaoHui.com


如何将UTF-8转换为Unicode???

RSS 订阅当前论坛  

上一主题 下一主题
     

标题: 如何将UTF-8转换为Unicode???  
 
ziwanli
小水手
Rank: 1



UID 2731
精华 0
积分 1
帖子 1
阅读权限 10
注册 2006-4-12
状态 离线
如何将UTF-8转换为Unicode???

我用vb远程访问myql数据库,并用listview显示记录集中的信息,可是凡是有中文的地方就变成了乱码??请问如何搞定??
2006-4-12 13:07#1
查看资料  Blog  发短消息  顶部
 
YunHai
版主
Rank: 7Rank: 7Rank: 7



Medal No.1  
UID 5004
精华 0
积分 5934
帖子 5934
阅读权限 100
注册 2002-1-12
来自 黑龙江
状态 离线
给你点提示
int Utf8ToAnsi(const char *szUtf8, char *szAnsi )
{
        wchar_t *szUnicode = NULL;
        int iLengthUnicode = 0;
        iLengthUnicode = MultiByteToWideChar(CP_UTF8, 0, szUtf8, (int)strlen(szUtf8), NULL, 0);
        szUnicode = new wchar_t[ iLengthUnicode ];
        memset(szUnicode, 0, sizeof(wchar_t)*(iLengthUnicode));
        MultiByteToWideChar(CP_UTF8, 0, szUtf8, (int)strlen(szUtf8), szUnicode, iLengthUnicode);
       
        char *szAnsiString = NULL;
        int iLengthAnsiString = 0;
        iLengthAnsiString = WideCharToMultiByte(CP_ACP, 0, szUnicode, iLengthUnicode, NULL, 0, NULL, NULL);
        szAnsiString = new char[ iLengthAnsiString];
        memset(szAnsiString, 0, sizeof(char)*(iLengthAnsiString));
        WideCharToMultiByte(CP_ACP, 0, szUnicode, iLengthUnicode, szAnsiString, iLengthAnsiString, NULL, NULL);
       
        if(szAnsi )
        {
                memcpy(szAnsi, szAnsiString, (iLengthAnsiString));
                szAnsi[iLengthAnsiString] = 0;
        }
       
        if(szUnicode) {delete[] szUnicode; szUnicode = NULL;}
        if(szAnsiString) {delete[] szAnsiString; szAnsiString = NULL;}
       
        return iLengthAnsiString;
}
2006-4-14 22:49#2
查看资料  Blog  发短消息  顶部
     


  可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题  


 


所有时间为 GMT+8, 现在时间是 2008-12-1 23:55 Powered by Discuz! 4.1.0 清除 Cookies - XiaoHui.Net 笑汇程序员论坛 - Archiver