如何把繁体中文的文本文件转换为unicode编码?
程序在简体中文系统下unicode方式编译运行。。。。
使用setlocale。。。MultiByteToWideChar
转换均不成功,因为如果成功,使用SetWindowTextW(s3)文字将能正常显示在静态文本控件中。。。
[解决办法]
首先繁体中文的编码是big-5还是gbk?(可打开word看出)
其次,如果是big5的话,MultiByteToWideChar中代码页指定对了吗?
第三,试试下面的程序。
[code = C\C++]
#include <windows.h>
#include <iostream>
using namespace std;
int main()
{
char p[] = { 0xc3,0xf6,0xb3,0xac,0};
wchar_t m[20];
memset(m,0,sizeof(wchar_t)*20);
MultiByteToWideChar(10002,0,p,strlen(p),m,20);
wcout.imbue(locale("chs"));
wcout <<m <<endl;
return 0;
}
[/code]
[解决办法]
楼主说的应该不是繁体的问题, 如果是繁体SetWindowTextW应该就没问题
应该是big5编码
VOID BIG52GBK(CHAR *pStr, _bstr_t * pbStrText){ if(pStr == NULL || pStr[0] == 0) return; int nNeedLen = strlen(pStr)+1; WCHAR * pText = new WCHAR[nNeedLen]; int nReturn = MultiByteToWideChar(950, 0, pStr, nNeedLen, pText, nNeedLen); *pbStrText = pText; delete[] pText;}