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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: QString и CHAR массив: проблема с кодировкой.  (Прочитано 3554 раз)
Digan
Гость
« : Август 23, 2011, 15:59 »

С помощью функций WinAPI получаю имена файлов в каталоге.
WinAPI возвращает имя файла в виде массива типа CHAR, а после перевожу его в QString.

Код:
QString _curFileName = FindData.cFileName;

Все отлично работает, но если встречается файл название которого состоит из кириллицы, то получаю вместо имени файла текст типа: Çíàêè Âîïðîñà - ïèñüìî.mp3.

Как сделать так, чтобы русский текст в этом случае нормально отображался?
Записан
merke
Гость
« Ответ #1 : Август 23, 2011, 17:10 »

а кодеки юзаешь?
Записан
Digan
Гость
« Ответ #2 : Август 23, 2011, 17:30 »

а кодеки юзаешь?
Помогла строчка
Код:
QTextCodec::setCodecForCStrings(QTextCodec::codecForLocale())

Но везде ли так будет работать корректно?
Записан
merke
Гость
« Ответ #3 : Август 23, 2011, 17:36 »

Код
C++ (Qt)
  QTextCodec::setCodecForCStrings(QTextCodec::codecForName("UTF-8"));
   QTextCodec::setCodecForTr(QTextCodec::codecForName("Windows-1251"));
Записан
merke
Гость
« Ответ #4 : Август 23, 2011, 17:37 »

конечно же только под виндой Смеющийся
Записан
Авварон
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 3260


Просмотр профиля
« Ответ #5 : Август 23, 2011, 20:14 »

зачем юзать винапи для листинга каталогов?
зачем юзать 8битные версии винапишных ф-ий, если есть юникодовские?
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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