Ticket #89 (closed ошибка: неисправимо)

Opened 2 years ago

Last modified 11 months ago

Проблемы с кодировкой

Reported by: stddenis.ya.ru Owned by: j-sheridan.livejournal.com
Priority: низкий Milestone: 1.0rc3
Component: sqlite storage Version: 1.0
Keywords: Cc:

Description

Билд из свежескачанного транка. База Sqlite (позже проверил с MySQL - там все пучком).
В теле сообщения вся кириллица отображается в виде знаков вопроса.
В то же время, заголовки сообщений - в норме.
Глянув на код получения этих полей из БД исправил в sqlite_storage.cpp:

   body = QString::fromUtf8(query_select->value(0).toByteArray());

на

   body = query_select->value(0).toString();

Все заработало. И просмотр и тестовая отправка.

Создал базу MySQL - там все работает. Сделал изменение, аналогичное вышеуказанному, в mysql_storage.cpp. Но это лишь нарушило работу - если мне не изменяет глаз, то UTF8 воспринялся как ANSI.
Возможно проблема в том, что драйверы БД поразному выдают результаты.

Итого:
имхо, нужно сделать изменение в ASQLiteStorage::getMessageBody, которое я описал выше. И в ASQLiteStorage::compressStorage

   QByteArray message = query_select->value(1).toByteArray();

заменить на:

   QByteArray message = query_select->value(1).toString().toUtf8();

Change History

comment:1 Changed 2 years ago by antonbatenev.ya.ru

  • Owner set to j-sheridan.livejournal.com
  • Status changed from new to assigned

comment:2 Changed 11 months ago by antonbatenev.ya.ru

  • Status changed from assigned to closed
  • Type changed from задача to ошибка
  • Component changed from all to sqlite storage
  • Priority changed from основной to низкий
  • Milestone set to 1.0rc3
  • Resolution set to неисправимо

branch specific, закрыта за давностью (исправлять, судя по  http://www.rsdn.ru/forum/janus/4193283.1.aspx, никто не будет).

Note: See TracTickets for help on using tickets.