В настоящее время я работаю над проектом, написанным на C++ и использующим True OLE DBGrids с серверной частью MS Access. Все это работает хорошо, пока нам не нужно преобразовать наш графический интерфейс для отображения арабских символов. DBGrids не используют Unicode, поэтому мне нужен способ отображения символов из базы данных без использования Unicode. В настоящее время я установил региональные настройки языка на арабский, и когда я это сделал, я могу заставить сетки отображать арабские символы, но я не могу сделать это с помощью кода. Мне нужно иметь возможность переключаться между английским и арабским языком во время выполнения. Я могу извлечь данные из базы данных, а затем преобразовать их в формат, отличный от Unicode, используя следующий код:
_bstr_t tmp(vHolder.bstrVal, FALSE); //wrap the BSTR
CString Caption(static_cast<const char*>(tmp)); //convert it
RetCaption = Caption;
С этим я могу отправить арабский язык в AfxMessageBox, и он отображается правильно, но я не могу заставить сетки принимать символы, отличные от Unicode, и отображать их правильно.
Любые идеи?