求编程方法把文本从ANSI编码转为UTF-8编码

// to UTF-8
char text[1024]={0};
WCHAR w[1024]={0};
int erg=0;

strcpy(text, m_pData);

erg=MultiByteToWideChar(CP_ACP, 0, text, -1, w, sizeof(w) / sizeof(WCHAR)); // ANSI to UNICODE
erg=WideCharToMultiByte(CP_UTF8, 0, w, -1, text, sizeof(text), 0, 0); // UNICODE to UTF-8

转自:http://zhidao.baidu.com/question/291413678.html

C++中Ansi、Unicode、UTF8字符串之间的转换和写入文本文件 -

Ansi转换utf8和utf8转换Ansi就是上面2个的结合,把unicode作为中间量,进行2次转换即可

从上面两篇文章,发现 需要转换两次。

posted @ 2013-03-07 15:55  stma  阅读(485)  评论(0)    收藏  举报