Немецкие символы отображаются неправильно с SetDlgItemText

Я прочитал текст на немецком языке из базы данных sqlite с C ++, (текст выглядит хорошо с просмотра базы данных). Но когда я отображаю его в диалоге с SetDlgItemText, текст выглядит следующим образом (см. Рисунок).

введите описание изображения здесь

    CString strWarning(pStmt->GetColumnCString(nCol));
SetDlgItemText(IDC_WARNING_MESSAGE, strWarning);

1

Решение

Ваша строка выглядит как UTF-8, которую Windows не обрабатывает.

Вам нужно будет преобразовать его в UTF-16 и убедиться, что вы вызываете широкую версию SetDlgItemTextлибо путем изменения параметра набора символов вашего проекта на Use Unicode Character Set или указав SetDlgItemTextW,

Вы можете конвертировать вашу строку из UTF-8 в UTF-16 с помощью MultiByteToWideChar функция.

5

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]