Attachments (1)
Change History (8)
by , 8 years ago
follow-up: 2 comment:1 by , 8 years ago
Resolution: | → fixed |
---|---|
Status: | new → closed |
comment:2 by , 8 years ago
Resolution: | fixed |
---|---|
Status: | closed → reopened |
Replying to dimag:
Баг по-прежнему присутствует.
Возможно в вашей версии Linux кодировка по умолчанию отличная от UTF-8, которая используется по умолчанию в моём дистрибутиве.
Во-первых, не важно, какая кодировка по умолчанию, важно, какая кодировка локали установлена в текущий момент.
Во-вторых, программа тестировалась при кодировке локали UTF-8.
В-третьих, очень сомнительно, что в данном случае кодировка локали может играть какую-то роль, так как лишь часть сообщений отображается неверно - см. картинку.
Я добавил следующую строку в начало функции main.
QTextCodec *pCodec = QTextCodec::codecForName("utf-8");
QTextCodec::setCodecForLocale(pCodec);
Теперь везде должен использоваться одинаковый кодек для кодировок.
Не помогло.
comment:3 by , 8 years ago
Уточнение: в лог-файл записывается то же, что и отображается на экране - вопросительные знаки вместо букв. Это наводит на мысль, что в какой-то момент (в MainAppFrameWindow3::LogOutput()?) производилась перекодировка текста, при этом символы текста отсутствовали в кодировке результата, и поэтому были заменены символами '?'.
comment:5 by , 8 years ago
Resolution: | fixed |
---|---|
Status: | closed → reopened |
comment:6 by , 8 years ago
Resolution: | → fixed |
---|---|
Status: | reopened → closed |
Исправлено в r235: QTextCodec::setCodecForCStrings() выполняется только для версий Qt меньше 5.
r230
Возможно в вашей версии Linux кодировка по умолчанию отличная от UTF-8, которая используется по умолчанию в моём дистрибутиве.
Я добавил следующую строку в начало функции main.
QTextCodec *pCodec = QTextCodec::codecForName("utf-8");
QTextCodec::setCodecForLocale(pCodec);
Теперь везде должен использоваться одинаковый кодек для кодировок.