Russian Qt Forum
Ноябрь 24, 2024, 04:34 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: QZipWriter и кирилица  (Прочитано 3863 раз)
ecspertiza
Супер
******
Offline Offline

Сообщений: 1053


С уважением, мастер конфетного цеха!


Просмотр профиля
« : Март 29, 2012, 11:33 »

Для архивирования файлов решил заюзать QZipWriter. При архивировании файлов с кирилицей возникают некоторые проблемы, собственно кирилица бьется.

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

При этом перед архивацией вывожу в мессадж бокс сообщение с именем что бы проверить все ли хорошо, там имя отображается корректно. Стало быть для zip нужна какая то своя кодировка ? Кто как боролся с такой бедой ?
Записан
sidsukana
Гость
« Ответ #1 : Март 29, 2012, 11:42 »

QTextCodec при старте в UTF-8 не катит?
Еще могу посоветовать имя архива передавать в таком виде QString::fromUtf8(имя)
Я недавно сталкивался с тем что русский в китайский переводит, но там было другое - 2 байтовые символы.
Записан
ecspertiza
Супер
******
Offline Offline

Сообщений: 1053


С уважением, мастер конфетного цеха!


Просмотр профиля
« Ответ #2 : Март 29, 2012, 11:52 »

QTextCodec при старте в UTF-8 не катит?

Не не катит.

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

тоже пробовал Улыбающийся причем с разными кодировками
Записан
ecspertiza
Супер
******
Offline Offline

Сообщений: 1053


С уважением, мастер конфетного цеха!


Просмотр профиля
« Ответ #3 : Март 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);
Записан
Пантер
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 5876


Жаждущий знаний


Просмотр профиля WWW
« Ответ #4 : Март 29, 2012, 12:20 »

Винда - она такая. Улыбающийся
Записан

1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
sidsukana
Гость
« Ответ #5 : Март 29, 2012, 12:50 »

Попробуй
Код:
QTextCodec *codec = QTextCodec::codecForName("Windows-1251");
Веселый
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.072 секунд. Запросов: 23.