У меня было приложение, построенное с использованием Qt 4. Оно использовало latin-1 как источник, и я всегда использовал QString :: fromLatin1. Тем не менее, при попытке подключиться к Qt 5 (на самом деле, я оба использовал Qt 5 и Windows 8 вместе, но я не думаю, что это ошибка Windows). Кодирование действительно выглядит как угодно, с некоторым странным пространством до/после текста.Проблемы с кодированием Qt 5
Это приложение работает с Qt 5/Windows 8:
Как вы можете видеть, ç
и и ã
появляются правильно, с каким-то странным пространством добавленным между ними. Кроме того, символ ó
отображается правильно, без пробела.
Это, как я установил QLabel:
m_msgWelcome->setText(QString("Bem vindo ao biocódigo!\nSelecione uma opção ao lado para iniciar"));
я уже пробовал как QString::fromUtf8
и QString::fromLatin1
без успеха.
Это странно, в реальной проблеме с кодировкой я ожидал бы и неправильных символов. Какая кодировка имеет ваш исходный файл? Не могли бы вы сократить строку до «opção» и добавить вывод m_msgWelcome-> text(). ToUtf8(). ToHex()? Возможно также проблема с отображением шрифта с этим конкретным шрифтом. –
Я получаю «6f70c3a7c3a36f» toUtf8(). ToHex(). Изменение шрифта исправило проблему, теперь я понятия не имею, почему это произошло, так как я использую тот же самый шрифт, который работал раньше. Хотите опубликовать это как ответ? –