Я прочитал текст на немецком языке из базы данных sqlite с C ++, (текст выглядит хорошо с просмотра базы данных). Но когда я отображаю его в диалоге с SetDlgItemText, текст выглядит следующим образом (см. Рисунок).
CString strWarning(pStmt->GetColumnCString(nCol));
SetDlgItemText(IDC_WARNING_MESSAGE, strWarning);
Ваша строка выглядит как UTF-8, которую Windows не обрабатывает.
Вам нужно будет преобразовать его в UTF-16 и убедиться, что вы вызываете широкую версию SetDlgItemText
либо путем изменения параметра набора символов вашего проекта на Use Unicode Character Set
или указав SetDlgItemTextW
,
Вы можете конвертировать вашу строку из UTF-8 в UTF-16 с помощью MultiByteToWideChar функция.
Других решений пока нет …