Возможный дубликат:
Отображение как корейского, так и китайского языка в C ++
У меня есть исходный код для игры, которая была встроена в VC ++ 6. Проблема в том, что когда я пытаюсь отобразить китайское сообщение в окне сообщения (настраиваемое окно сообщения, отображаемое в интерфейсе игры), китайское сообщение всегда сломана.
Это функция:
BOOL Message_Box(char * msg, int Button, void (*pProcOK)(), void (*pProcCancel)()){
CMsgDlg dlg;
int nCnt = 100;
int nIndex = 0;
do {
nIndex = FindMsgDlg(nCnt);
if(nIndex == -1)
break;
nCnt++;
} while(true);
dlg.SetDlg(g_hMainWnd, nCnt, Button, msg, pProcOK, pProcCancel);
g_vtDlgList.push_back(nCnt);
g_vtMsgBox.push_back(dlg);
ShowDlg(dlg.GetIndex());
return FALSE;
}
Я звоню:
Message_Box("你没有足够的钱进入房间。", MB_OK);
И это результат, когда он отображается в окне сообщения:
??有足?的??入房?
Вы должны использовать API Unicode для отображения китайских символов, а также хранить их в Unicode
Других решений пока нет …