Russian Qt Forum

Qt => Общие вопросы => Тема начата: ecspertiza от Март 29, 2012, 11:33



Название: QZipWriter и кирилица
Отправлено: ecspertiza от Март 29, 2012, 11:33
Для архивирования файлов решил заюзать QZipWriter. При архивировании файлов с кирилицей возникают некоторые проблемы, собственно кирилица бьется.

Код:
=ютvщ ЄхъёЄютvщ фюъєьхэЄ (3).txt

При этом перед архивацией вывожу в мессадж бокс сообщение с именем что бы проверить все ли хорошо, там имя отображается корректно. Стало быть для zip нужна какая то своя кодировка ? Кто как боролся с такой бедой ?


Название: Re: QZipWriter и кирилица
Отправлено: sidsukana от Март 29, 2012, 11:42
QTextCodec при старте в UTF-8 не катит?
Еще могу посоветовать имя архива передавать в таком виде QString::fromUtf8(имя)
Я недавно сталкивался с тем что русский в китайский переводит, но там было другое - 2 байтовые символы.


Название: Re: QZipWriter и кирилица
Отправлено: ecspertiza от Март 29, 2012, 11:52
QTextCodec при старте в UTF-8 не катит?

Не не катит.

Еще могу посоветовать имя архива передавать в таком виде QString::fromUtf8(имя)

тоже пробовал :) причем с разными кодировками


Название: Re: QZipWriter и кирилица
Отправлено: ecspertiza от Март 29, 2012, 12:15
нашелся ответ, хорошо погуглив

Код:
#ifdef Q_WS_WIN
       QTextCodec *codec = QTextCodec::codecForName("cp-866");
#else
       QTextCodec *codec = QTextCodec::codecForName("utf-8");
#endif
QTextCodec::setCodecForLocale(codec);


Название: Re: QZipWriter и кирилица
Отправлено: Пантер от Март 29, 2012, 12:20
Винда - она такая. :)


Название: Re: QZipWriter и кирилица
Отправлено: sidsukana от Март 29, 2012, 12:50
Попробуй
Код:
QTextCodec *codec = QTextCodec::codecForName("Windows-1251");
:D