MySQL 4.1.12. У меня всё работает а у человека которому писал нет. Говорит что вместо буквы "а" допустим, сохраняются '?'. У него стоит ХР у меня тож. Но у меня всё работает . Вот пример моей функции перевода из utf8 и обратно мот здесь ошибки. Поле в Таблица в которую сохраняем char(1) и кодировка utf8_bin. Мот у кого есть какие нить предположения ?
Код: Выделить всё
char* CMySQLBrowserDlg::AnsiToUtf(char* ansi)
{
ZeroMemory(cvrStr,MAX_PATH);
WCHAR *wStr=NULL;
strcpy(cvrStr,ansi);
int nCountLit = MultiByteToWideChar(CP_ACP, 0, cvrStr, -1, wStr, 0);
wStr = new WCHAR[nCountLit];
MultiByteToWideChar(CP_ACP,0, cvrStr,-1, wStr,nCountLit);
WideCharToMultiByte(CP_UTF8, 0, wStr, -1, cvrStr, MAX_PATH, NULL, NULL);
return cvrStr;
}
char* CMySQLBrowserDlg::UtfToAnsi(unsigned char* utf)
{
ZeroMemory(cvrStr,MAX_PATH);
WCHAR* wStr=NULL;
char *tmp = (char*)utf;
strcpy(cvrStr,tmp);
int nCountLit = MultiByteToWideChar(CP_UTF8,0, cvrStr,-1, wStr,0 );
wStr = new WCHAR[nCountLit];
MultiByteToWideChar(CP_UTF8,0, cvrStr,-1, wStr,nCountLit);
WideCharToMultiByte(CP_ACP, 0, wStr, -1, cvrStr, MAX_PATH, NULL, NULL);
delete wStr;
return cvrStr;
}